Comment d=C3=A9tecter un click de souris quand un calcul dans une proc=C3=
=A9dure est en cours ?
Je voudrais, m'en servir pour arr=C3=AAter le calcul...
Bonjour, Pourrais-tu donner plus d'explications sur ce que tu tentes de faire? Pour moi, la question n'est pas claire... Donne-nous un exemple de ce que tu aimerais réaliser. MichD "Alf" a écrit dans le message de groupe de discussion : Bonjour à tous, Comment détecter un click de souris quand un calcul dans une procédure est en cours ? Je voudrais, m'en servir pour arrêter le calcul... Merci pour votre aide à tous Alf
Bonjour,
Pourrais-tu donner plus d'explications sur ce que tu tentes de faire? Pour moi, la question
n'est pas claire... Donne-nous un exemple de ce que tu aimerais réaliser.
MichD
"Alf" a écrit dans le message de groupe de discussion :
4c58f484-e701-41d0-905a-975551dc1e96@googlegroups.com...
Bonjour à tous,
Comment détecter un click de souris quand un calcul dans une procédure est en cours ?
Je voudrais, m'en servir pour arrêter le calcul...
Bonjour, Pourrais-tu donner plus d'explications sur ce que tu tentes de faire? Pour moi, la question n'est pas claire... Donne-nous un exemple de ce que tu aimerais réaliser. MichD "Alf" a écrit dans le message de groupe de discussion : Bonjour à tous, Comment détecter un click de souris quand un calcul dans une procédure est en cours ? Je voudrais, m'en servir pour arrêter le calcul... Merci pour votre aide à tous Alf
Jacquouille
Bonjour ben moi, je comprends que le demandeur veut arrêter un calcul en cours au moyen d'un clic de souris. Si c'est cela, faudra aller très vite pour clique et doper la souris. -)) Bon WE Jacques " Le vin est au repas ce que le parfum est à la femme." . "MichD" a écrit dans le message de groupe de discussion : oen16m$43h$ Bonjour, Pourrais-tu donner plus d'explications sur ce que tu tentes de faire? Pour moi, la question n'est pas claire... Donne-nous un exemple de ce que tu aimerais réaliser. MichD "Alf" a écrit dans le message de groupe de discussion : Bonjour à tous, Comment détecter un click de souris quand un calcul dans une procédure est en cours ? Je voudrais, m'en servir pour arrêter le calcul... Merci pour votre aide à tous Alf
Bonjour
ben moi, je comprends que le demandeur veut arrêter un calcul en cours au
moyen d'un clic de souris.
Si c'est cela, faudra aller très vite pour clique et doper la souris. -))
Bon WE
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
oen16m$43h$1@gioia.aioe.org...
Bonjour,
Pourrais-tu donner plus d'explications sur ce que tu tentes de faire? Pour
moi, la question
n'est pas claire... Donne-nous un exemple de ce que tu aimerais réaliser.
MichD
"Alf" a écrit dans le message de groupe de discussion :
4c58f484-e701-41d0-905a-975551dc1e96@googlegroups.com...
Bonjour à tous,
Comment détecter un click de souris quand un calcul dans une procédure est
en cours ?
Je voudrais, m'en servir pour arrêter le calcul...
Bonjour ben moi, je comprends que le demandeur veut arrêter un calcul en cours au moyen d'un clic de souris. Si c'est cela, faudra aller très vite pour clique et doper la souris. -)) Bon WE Jacques " Le vin est au repas ce que le parfum est à la femme." . "MichD" a écrit dans le message de groupe de discussion : oen16m$43h$ Bonjour, Pourrais-tu donner plus d'explications sur ce que tu tentes de faire? Pour moi, la question n'est pas claire... Donne-nous un exemple de ce que tu aimerais réaliser. MichD "Alf" a écrit dans le message de groupe de discussion : Bonjour à tous, Comment détecter un click de souris quand un calcul dans une procédure est en cours ? Je voudrais, m'en servir pour arrêter le calcul... Merci pour votre aide à tous Alf
MichD
Bonjour, Si tu fais référence à une formule dans une cellule, on ne peut pas arrêter le calcul de cette cellule. Cependant, tu peux passer la feuille en mode de calcul manuel et tu peux à l'aide d'une petite macro déterminer la plage de cellules que tu veux calculer Exemple : Worksheets("Feuil1").Range("A1:A10").Calculate À chacune des macros, tu peux donner un raccourci clavier (voir dans la fenêtre des macros ( Raccourci clavier ALT + F8 ), tu sélectionnes une macro, clique sur le bouton "Options" et tu valides la combinaison que tu veux associer à chaque macro. Si tu as quelques cellules qui ont des formules compliquées et qui sont plus longues à évaluer pour Excel, tu peux alors les isoler dans une macro. MichD "Alf" a écrit dans le message de groupe de discussion : Le dimanche 7 mai 2017 13:00:30 UTC+2, Alf a écrit :
Bonjour à tous, Comment détecter un click de souris quand un calcul dans une procédure est en cours ? Je voudrais, m'en servir pour arrêter le calcul... Merci pour votre aide à tous Alf
Oui, c'était ça... mais je disais un click de souris ou autre chose, une combinaison de touches au clavier.... En fait j'aimerais stopper un calcul long, déjà commencé, d'une manière quelconque.... Merci pour vos éclaircissements Alf
Bonjour,
Si tu fais référence à une formule dans une cellule, on ne peut pas arrêter le calcul de cette
cellule.
Cependant, tu peux passer la feuille en mode de calcul manuel et tu peux à l'aide d'une petite
macro déterminer la plage de cellules que tu veux calculer
Exemple :
Worksheets("Feuil1").Range("A1:A10").Calculate
À chacune des macros, tu peux donner un raccourci clavier (voir dans la fenêtre des macros (
Raccourci clavier ALT + F8 ), tu sélectionnes une macro, clique sur le bouton "Options" et tu
valides la combinaison que tu veux associer à chaque macro.
Si tu as quelques cellules qui ont des formules compliquées et qui sont plus longues à évaluer
pour Excel, tu peux alors les isoler dans une macro.
MichD
"Alf" a écrit dans le message de groupe de discussion :
ebc820a4-81aa-4120-a338-4120630141c9@googlegroups.com...
Le dimanche 7 mai 2017 13:00:30 UTC+2, Alf a écrit :
Bonjour à tous,
Comment détecter un click de souris quand un calcul dans une procédure est en cours ?
Je voudrais, m'en servir pour arrêter le calcul...
Merci pour votre aide à tous
Alf
Oui, c'était ça...
mais je disais un click de souris ou autre chose, une combinaison de touches au clavier....
En fait j'aimerais stopper un calcul long, déjà commencé, d'une manière quelconque....
Bonjour, Si tu fais référence à une formule dans une cellule, on ne peut pas arrêter le calcul de cette cellule. Cependant, tu peux passer la feuille en mode de calcul manuel et tu peux à l'aide d'une petite macro déterminer la plage de cellules que tu veux calculer Exemple : Worksheets("Feuil1").Range("A1:A10").Calculate À chacune des macros, tu peux donner un raccourci clavier (voir dans la fenêtre des macros ( Raccourci clavier ALT + F8 ), tu sélectionnes une macro, clique sur le bouton "Options" et tu valides la combinaison que tu veux associer à chaque macro. Si tu as quelques cellules qui ont des formules compliquées et qui sont plus longues à évaluer pour Excel, tu peux alors les isoler dans une macro. MichD "Alf" a écrit dans le message de groupe de discussion : Le dimanche 7 mai 2017 13:00:30 UTC+2, Alf a écrit :
Bonjour à tous, Comment détecter un click de souris quand un calcul dans une procédure est en cours ? Je voudrais, m'en servir pour arrêter le calcul... Merci pour votre aide à tous Alf
Oui, c'était ça... mais je disais un click de souris ou autre chose, une combinaison de touches au clavier.... En fait j'aimerais stopper un calcul long, déjà commencé, d'une manière quelconque.... Merci pour vos éclaircissements Alf
MichD
Bonjour, | Si c'est cela, faudra aller très vite pour clique et doper la souris. Ou les priver de frites pour quelques semaines! ;-) MichD "Jacquouille" a écrit dans le message de groupe de discussion : oen38o$7hg$ Bonjour ben moi, je comprends que le demandeur veut arrêter un calcul en cours au moyen d'un clic de souris. Si c'est cela, faudra aller très vite pour clique et doper la souris. -)) Bon WE Jacques " Le vin est au repas ce que le parfum est à la femme." . "MichD" a écrit dans le message de groupe de discussion : oen16m$43h$ Bonjour, Pourrais-tu donner plus d'explications sur ce que tu tentes de faire? Pour moi, la question n'est pas claire... Donne-nous un exemple de ce que tu aimerais réaliser. MichD "Alf" a écrit dans le message de groupe de discussion : Bonjour à tous, Comment détecter un click de souris quand un calcul dans une procédure est en cours ? Je voudrais, m'en servir pour arrêter le calcul... Merci pour votre aide à tous Alf
Bonjour,
| Si c'est cela, faudra aller très vite pour clique et doper la souris.
Ou les priver de frites pour quelques semaines!
;-)
MichD
"Jacquouille" a écrit dans le message de groupe de discussion : oen38o$7hg$1@gioia.aioe.org...
Bonjour
ben moi, je comprends que le demandeur veut arrêter un calcul en cours au
moyen d'un clic de souris.
Si c'est cela, faudra aller très vite pour clique et doper la souris. -))
Bon WE
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
oen16m$43h$1@gioia.aioe.org...
Bonjour,
Pourrais-tu donner plus d'explications sur ce que tu tentes de faire? Pour
moi, la question
n'est pas claire... Donne-nous un exemple de ce que tu aimerais réaliser.
MichD
"Alf" a écrit dans le message de groupe de discussion :
4c58f484-e701-41d0-905a-975551dc1e96@googlegroups.com...
Bonjour à tous,
Comment détecter un click de souris quand un calcul dans une procédure est
en cours ?
Je voudrais, m'en servir pour arrêter le calcul...
Bonjour, | Si c'est cela, faudra aller très vite pour clique et doper la souris. Ou les priver de frites pour quelques semaines! ;-) MichD "Jacquouille" a écrit dans le message de groupe de discussion : oen38o$7hg$ Bonjour ben moi, je comprends que le demandeur veut arrêter un calcul en cours au moyen d'un clic de souris. Si c'est cela, faudra aller très vite pour clique et doper la souris. -)) Bon WE Jacques " Le vin est au repas ce que le parfum est à la femme." . "MichD" a écrit dans le message de groupe de discussion : oen16m$43h$ Bonjour, Pourrais-tu donner plus d'explications sur ce que tu tentes de faire? Pour moi, la question n'est pas claire... Donne-nous un exemple de ce que tu aimerais réaliser. MichD "Alf" a écrit dans le message de groupe de discussion : Bonjour à tous, Comment détecter un click de souris quand un calcul dans une procédure est en cours ? Je voudrais, m'en servir pour arrêter le calcul... Merci pour votre aide à tous Alf
isabelle
Le 2017-05-07 à 14:06, MichD a écrit :
Cependant, tu peux passer la feuille en mode de calcul manuel et tu peux à
ou bien ctrl+alt+del ok...c'est un peu radical isabelle
Le 2017-05-07 à 14:06, MichD a écrit :
Cependant, tu peux passer la feuille en mode de calcul manuel et tu peux à
ou bien ctrl+alt+del
ok...c'est un peu radical
isabelle
Cependant, tu peux passer la feuille en mode de calcul manuel et tu peux à
ou bien ctrl+alt+del ok...c'est un peu radical isabelle
MichD
Tu sais pourquoi maintenant je disais que ta question n'était pas claire. Regarde la structure de cette macro, elle fait exactement ce que tu veux. La macro fait des calculs quelconques pour les besoins de la cause dans une boucle. Tu peux arrêter la boucle seulement en appuyant sur la touche "Esc". '------------------------------------------- Sub test() Dim A As Double, X As Double Dim GestionErreur As String 'Au début de la procédure On Error GoTo GestionErreur Application.EnableCancelKey = xlErrorHandler 'Le traitement de ta macro For A = 1 To 1000000000 X = X + ((A * 2) + 4) / 5 Next Exit Sub 'à la sortie si nécessaire, le message est affiché. GestionErreur: MsgBox "Vous avez arrêté l'exécution volontairement!" End Sub '------------------------------------------- MichD "Alf" a écrit dans le message de groupe de discussion : Le dimanche 7 mai 2017 13:00:30 UTC+2, Alf a écrit :
Bonjour à tous, Comment détecter un click de souris quand un calcul dans une procédure est en cours ? Je voudrais, m'en servir pour arrêter le calcul... Merci pour votre aide à tous Alf
Merci pour vos réponses, En fait, je ne fais pas référence à une formule dans une cellule. Ma macro calcule, une fois lancée, des millions de positions sur une cinématique de véhicule, mais le fait en mémoire. Je n'écris quelques positions sur certaines feuilles que lorsqu'elles correspondent à certains critères... Le calcul mémoire est long, ça peut aller jusqu'à 1 heure... Une fois le calcul lancé, je m'aperçois de certaines erreurs dans le paramétrage et c'est pourquoi je voudrais stopper le processus... Des Ctrl Alt Del , j'en ai fait des tonnes.... Je cherche un autre moyen moins brutal qui me ramène à ma feuille initiale... Merci pour votre aide
Tu sais pourquoi maintenant je disais que ta question n'était pas claire.
Regarde la structure de cette macro, elle fait exactement ce que tu veux.
La macro fait des calculs quelconques pour les besoins de la cause dans une boucle. Tu peux
arrêter la boucle seulement en appuyant sur la touche "Esc".
'-------------------------------------------
Sub test()
Dim A As Double, X As Double
Dim GestionErreur As String
'Au début de la procédure
On Error GoTo GestionErreur
Application.EnableCancelKey = xlErrorHandler
'Le traitement de ta macro
For A = 1 To 1000000000
X = X + ((A * 2) + 4) / 5
Next
Exit Sub
'à la sortie si nécessaire, le message est affiché.
GestionErreur:
MsgBox "Vous avez arrêté l'exécution volontairement!"
End Sub
'-------------------------------------------
MichD
"Alf" a écrit dans le message de groupe de discussion :
be573f8a-8d6a-4699-a926-63690d0921e1@googlegroups.com...
Le dimanche 7 mai 2017 13:00:30 UTC+2, Alf a écrit :
Bonjour à tous,
Comment détecter un click de souris quand un calcul dans une procédure est en cours ?
Je voudrais, m'en servir pour arrêter le calcul...
Merci pour votre aide à tous
Alf
Merci pour vos réponses,
En fait, je ne fais pas référence à une formule dans une cellule.
Ma macro calcule, une fois lancée, des millions de positions sur une cinématique de véhicule,
mais le fait en mémoire.
Je n'écris quelques positions sur certaines feuilles que lorsqu'elles correspondent à certains
critères...
Le calcul mémoire est long, ça peut aller jusqu'à 1 heure...
Une fois le calcul lancé, je m'aperçois de certaines erreurs dans le paramétrage et c'est
pourquoi je voudrais stopper le processus...
Des Ctrl Alt Del , j'en ai fait des tonnes....
Je cherche un autre moyen moins brutal qui me ramène à ma feuille initiale...
Tu sais pourquoi maintenant je disais que ta question n'était pas claire. Regarde la structure de cette macro, elle fait exactement ce que tu veux. La macro fait des calculs quelconques pour les besoins de la cause dans une boucle. Tu peux arrêter la boucle seulement en appuyant sur la touche "Esc". '------------------------------------------- Sub test() Dim A As Double, X As Double Dim GestionErreur As String 'Au début de la procédure On Error GoTo GestionErreur Application.EnableCancelKey = xlErrorHandler 'Le traitement de ta macro For A = 1 To 1000000000 X = X + ((A * 2) + 4) / 5 Next Exit Sub 'à la sortie si nécessaire, le message est affiché. GestionErreur: MsgBox "Vous avez arrêté l'exécution volontairement!" End Sub '------------------------------------------- MichD "Alf" a écrit dans le message de groupe de discussion : Le dimanche 7 mai 2017 13:00:30 UTC+2, Alf a écrit :
Bonjour à tous, Comment détecter un click de souris quand un calcul dans une procédure est en cours ? Je voudrais, m'en servir pour arrêter le calcul... Merci pour votre aide à tous Alf
Merci pour vos réponses, En fait, je ne fais pas référence à une formule dans une cellule. Ma macro calcule, une fois lancée, des millions de positions sur une cinématique de véhicule, mais le fait en mémoire. Je n'écris quelques positions sur certaines feuilles que lorsqu'elles correspondent à certains critères... Le calcul mémoire est long, ça peut aller jusqu'à 1 heure... Une fois le calcul lancé, je m'aperçois de certaines erreurs dans le paramétrage et c'est pourquoi je voudrais stopper le processus... Des Ctrl Alt Del , j'en ai fait des tonnes.... Je cherche un autre moyen moins brutal qui me ramène à ma feuille initiale... Merci pour votre aide
Xonic
peut-etre avec CTRL+PAUSE Alf a pensé très fort :
Le dimanche 7 mai 2017 13:00:30 UTC+2, Alf a écrit :
Bonjour à tous, Comment détecter un click de souris quand un calcul dans une procédure est en cours ? Je voudrais, m'en servir pour arrêter le calcul... Merci pour votre aide à tous Alf
Merci pour vos réponses, En fait, je ne fais pas référence à une formule dans une cellule. Ma macro calcule, une fois lancée, des millions de positions sur une cinématique de véhicule, mais le fait en mémoire. Je n'écris quelques positions sur certaines feuilles que lorsqu'elles correspondent à certains critères... Le calcul mémoire est long, ça peut aller jusqu'à 1 heure... Une fois le calcul lancé, je m'aperçois de certaines erreurs dans le paramétrage et c'est pourquoi je voudrais stopper le processus... Des Ctrl Alt Del , j'en ai fait des tonnes.... Je cherche un autre moyen moins brutal qui me ramène à ma feuille initiale... Merci pour votre aide
-- Alain
peut-etre avec CTRL+PAUSE
Alf a pensé très fort :
Le dimanche 7 mai 2017 13:00:30 UTC+2, Alf a écrit :
Bonjour à tous,
Comment détecter un click de souris quand un calcul dans une procédure est
en cours ? Je voudrais, m'en servir pour arrêter le calcul...
Merci pour votre aide à tous
Alf
Merci pour vos réponses,
En fait, je ne fais pas référence à une formule dans une cellule.
Ma macro calcule, une fois lancée, des millions de positions sur une
cinématique de véhicule, mais le fait en mémoire.
Je n'écris quelques positions sur certaines feuilles que lorsqu'elles
correspondent à certains critères...
Le calcul mémoire est long, ça peut aller jusqu'à 1 heure...
Une fois le calcul lancé, je m'aperçois de certaines erreurs dans le
paramétrage et c'est pourquoi je voudrais stopper le processus...
Des Ctrl Alt Del , j'en ai fait des tonnes....
Je cherche un autre moyen moins brutal qui me ramène à ma feuille initiale...
Le dimanche 7 mai 2017 13:00:30 UTC+2, Alf a écrit :
Bonjour à tous, Comment détecter un click de souris quand un calcul dans une procédure est en cours ? Je voudrais, m'en servir pour arrêter le calcul... Merci pour votre aide à tous Alf
Merci pour vos réponses, En fait, je ne fais pas référence à une formule dans une cellule. Ma macro calcule, une fois lancée, des millions de positions sur une cinématique de véhicule, mais le fait en mémoire. Je n'écris quelques positions sur certaines feuilles que lorsqu'elles correspondent à certains critères... Le calcul mémoire est long, ça peut aller jusqu'à 1 heure... Une fois le calcul lancé, je m'aperçois de certaines erreurs dans le paramétrage et c'est pourquoi je voudrais stopper le processus... Des Ctrl Alt Del , j'en ai fait des tonnes.... Je cherche un autre moyen moins brutal qui me ramène à ma feuille initiale... Merci pour votre aide
-- Alain
MichD
J'ai omis de mentionner que si tu voulais simplement arrêter l'exécution de la procédure et avoir l'option de reprendre l'exécution après cet arrêt, tu peux procéder ainsi : Dans mon exemple, change cette ligne de code Application.EnableCancelKey = xlErrorHandler Pour : Application.EnableCancelKey = xlInterrupt Lorsque tu appuieras sur la touche Ctrl, la procédure s'arrêtera sur la ligne de code qu'elle exécute et tu auras une boîte de dialogue d'Excel qui s'ouvrira. Tu auras 3 Options : A ) Bouton : "Continuer" pour reprendre l'exécution de la macro B ) Bouton : "Fin" pour mettre fin à l'exécution de la macro C ) Bouton : "Débogage" en appuyant sur ce bouton, la ligne de code en exécution sera mise en jaune. Pour relancer l'exécution, emploie le bouton "Exécuter" de la barre standard dans la fenêtre de l'éditeur de code VBA. MichD "MichD" a écrit dans le message de groupe de discussion : oepnsh$co1$ Tu sais pourquoi maintenant je disais que ta question n'était pas claire. Regarde la structure de cette macro, elle fait exactement ce que tu veux. La macro fait des calculs quelconques pour les besoins de la cause dans une boucle. Tu peux arrêter la boucle seulement en appuyant sur la touche "Esc". '------------------------------------------- Sub test() Dim A As Double, X As Double Dim GestionErreur As String 'Au début de la procédure On Error GoTo GestionErreur Application.EnableCancelKey = xlErrorHandler 'Le traitement de ta macro For A = 1 To 1000000000 X = X + ((A * 2) + 4) / 5 Next Exit Sub 'à la sortie si nécessaire, le message est affiché. GestionErreur: MsgBox "Vous avez arrêté l'exécution volontairement!" End Sub '------------------------------------------- MichD "Alf" a écrit dans le message de groupe de discussion : Le dimanche 7 mai 2017 13:00:30 UTC+2, Alf a écrit :
Bonjour à tous, Comment détecter un click de souris quand un calcul dans une procédure est en cours ? Je voudrais, m'en servir pour arrêter le calcul... Merci pour votre aide à tous Alf
Merci pour vos réponses, En fait, je ne fais pas référence à une formule dans une cellule. Ma macro calcule, une fois lancée, des millions de positions sur une cinématique de véhicule, mais le fait en mémoire. Je n'écris quelques positions sur certaines feuilles que lorsqu'elles correspondent à certains critères... Le calcul mémoire est long, ça peut aller jusqu'à 1 heure... Une fois le calcul lancé, je m'aperçois de certaines erreurs dans le paramétrage et c'est pourquoi je voudrais stopper le processus... Des Ctrl Alt Del , j'en ai fait des tonnes.... Je cherche un autre moyen moins brutal qui me ramène à ma feuille initiale... Merci pour votre aide
J'ai omis de mentionner que si tu voulais simplement arrêter l'exécution de la procédure et
avoir l'option de reprendre l'exécution après cet arrêt, tu peux procéder ainsi :
Dans mon exemple, change cette ligne de code
Application.EnableCancelKey = xlErrorHandler
Pour :
Application.EnableCancelKey = xlInterrupt
Lorsque tu appuieras sur la touche Ctrl, la procédure s'arrêtera sur la ligne de code qu'elle
exécute et tu auras une boîte de dialogue d'Excel qui s'ouvrira. Tu auras 3 Options :
A ) Bouton : "Continuer" pour reprendre l'exécution de la macro
B ) Bouton : "Fin" pour mettre fin à l'exécution de la macro
C ) Bouton : "Débogage" en appuyant sur ce bouton, la ligne de code en exécution sera mise en
jaune. Pour relancer l'exécution, emploie le bouton "Exécuter" de la barre standard dans la
fenêtre de l'éditeur de code VBA.
MichD
"MichD" a écrit dans le message de groupe de discussion : oepnsh$co1$1@gioia.aioe.org...
Tu sais pourquoi maintenant je disais que ta question n'était pas claire.
Regarde la structure de cette macro, elle fait exactement ce que tu veux.
La macro fait des calculs quelconques pour les besoins de la cause dans une boucle. Tu peux
arrêter la boucle seulement en appuyant sur la touche "Esc".
'-------------------------------------------
Sub test()
Dim A As Double, X As Double
Dim GestionErreur As String
'Au début de la procédure
On Error GoTo GestionErreur
Application.EnableCancelKey = xlErrorHandler
'Le traitement de ta macro
For A = 1 To 1000000000
X = X + ((A * 2) + 4) / 5
Next
Exit Sub
'à la sortie si nécessaire, le message est affiché.
GestionErreur:
MsgBox "Vous avez arrêté l'exécution volontairement!"
End Sub
'-------------------------------------------
MichD
"Alf" a écrit dans le message de groupe de discussion :
be573f8a-8d6a-4699-a926-63690d0921e1@googlegroups.com...
Le dimanche 7 mai 2017 13:00:30 UTC+2, Alf a écrit :
Bonjour à tous,
Comment détecter un click de souris quand un calcul dans une procédure est en cours ?
Je voudrais, m'en servir pour arrêter le calcul...
Merci pour votre aide à tous
Alf
Merci pour vos réponses,
En fait, je ne fais pas référence à une formule dans une cellule.
Ma macro calcule, une fois lancée, des millions de positions sur une cinématique de véhicule,
mais le fait en mémoire.
Je n'écris quelques positions sur certaines feuilles que lorsqu'elles correspondent à certains
critères...
Le calcul mémoire est long, ça peut aller jusqu'à 1 heure...
Une fois le calcul lancé, je m'aperçois de certaines erreurs dans le paramétrage et c'est
pourquoi je voudrais stopper le processus...
Des Ctrl Alt Del , j'en ai fait des tonnes....
Je cherche un autre moyen moins brutal qui me ramène à ma feuille initiale...
J'ai omis de mentionner que si tu voulais simplement arrêter l'exécution de la procédure et avoir l'option de reprendre l'exécution après cet arrêt, tu peux procéder ainsi : Dans mon exemple, change cette ligne de code Application.EnableCancelKey = xlErrorHandler Pour : Application.EnableCancelKey = xlInterrupt Lorsque tu appuieras sur la touche Ctrl, la procédure s'arrêtera sur la ligne de code qu'elle exécute et tu auras une boîte de dialogue d'Excel qui s'ouvrira. Tu auras 3 Options : A ) Bouton : "Continuer" pour reprendre l'exécution de la macro B ) Bouton : "Fin" pour mettre fin à l'exécution de la macro C ) Bouton : "Débogage" en appuyant sur ce bouton, la ligne de code en exécution sera mise en jaune. Pour relancer l'exécution, emploie le bouton "Exécuter" de la barre standard dans la fenêtre de l'éditeur de code VBA. MichD "MichD" a écrit dans le message de groupe de discussion : oepnsh$co1$ Tu sais pourquoi maintenant je disais que ta question n'était pas claire. Regarde la structure de cette macro, elle fait exactement ce que tu veux. La macro fait des calculs quelconques pour les besoins de la cause dans une boucle. Tu peux arrêter la boucle seulement en appuyant sur la touche "Esc". '------------------------------------------- Sub test() Dim A As Double, X As Double Dim GestionErreur As String 'Au début de la procédure On Error GoTo GestionErreur Application.EnableCancelKey = xlErrorHandler 'Le traitement de ta macro For A = 1 To 1000000000 X = X + ((A * 2) + 4) / 5 Next Exit Sub 'à la sortie si nécessaire, le message est affiché. GestionErreur: MsgBox "Vous avez arrêté l'exécution volontairement!" End Sub '------------------------------------------- MichD "Alf" a écrit dans le message de groupe de discussion : Le dimanche 7 mai 2017 13:00:30 UTC+2, Alf a écrit :
Bonjour à tous, Comment détecter un click de souris quand un calcul dans une procédure est en cours ? Je voudrais, m'en servir pour arrêter le calcul... Merci pour votre aide à tous Alf
Merci pour vos réponses, En fait, je ne fais pas référence à une formule dans une cellule. Ma macro calcule, une fois lancée, des millions de positions sur une cinématique de véhicule, mais le fait en mémoire. Je n'écris quelques positions sur certaines feuilles que lorsqu'elles correspondent à certains critères... Le calcul mémoire est long, ça peut aller jusqu'à 1 heure... Une fois le calcul lancé, je m'aperçois de certaines erreurs dans le paramétrage et c'est pourquoi je voudrais stopper le processus... Des Ctrl Alt Del , j'en ai fait des tonnes.... Je cherche un autre moyen moins brutal qui me ramène à ma feuille initiale... Merci pour votre aide
MichD
Si tu lances la procédure à partir d'un formulaire dans une fenêtre modale, cela ne fonctionnera pas, car la fenêtre active n'est pas Excel, mais l'activex "Formulaire". La touche "Esc" n'est pas enfoncée pendant que l'application Excel est active. Dans ton exemple, pour que cela fonctionne, ouvre le formulaire dans une fenêtre non modale comme ceci : UserForm1.Show 0 MichD
Si tu lances la procédure à partir d'un formulaire dans une fenêtre modale, cela ne
fonctionnera pas, car la fenêtre active n'est pas Excel, mais l'activex "Formulaire". La touche
"Esc" n'est pas enfoncée pendant que l'application Excel est active.
Dans ton exemple, pour que cela fonctionne, ouvre le formulaire dans une fenêtre non modale
comme ceci :
Si tu lances la procédure à partir d'un formulaire dans une fenêtre modale, cela ne fonctionnera pas, car la fenêtre active n'est pas Excel, mais l'activex "Formulaire". La touche "Esc" n'est pas enfoncée pendant que l'application Excel est active. Dans ton exemple, pour que cela fonctionne, ouvre le formulaire dans une fenêtre non modale comme ceci : UserForm1.Show 0 MichD
MichD
En passant, tu peux rendre invisible ton formulaire pendant l'exécution avec la ligne de code "userform1.Hide" et à la fin de la procédure "Userform1.show 0 " MichD
En passant, tu peux rendre invisible ton formulaire pendant l'exécution avec la ligne de code
"userform1.Hide" et à la fin de la procédure "Userform1.show 0 "
En passant, tu peux rendre invisible ton formulaire pendant l'exécution avec la ligne de code "userform1.Hide" et à la fin de la procédure "Userform1.show 0 " MichD