OVH Cloud OVH Cloud

touche ECHAP

3 réponses
Avatar
FORUM excel
Bonsoir à tous.
Je souhaiterais pouvoir faire une action lorsque l'utilisateur lance une
macro (relativement longue) et qu'il veut l'arreter grace a la touche ECHAP.
J'ai bien trouvé qu'il y avait un code erreur lui correspondant, mais
meme quand je met un on error et que je gere cette erreur, je tombe sur la
fenetre de debugage....
Quelqu'un aurait-il une idée ?

Merci
Sébastien

3 réponses

Avatar
Patrick Fredin
Bonjour,

Peut-être pourrais-tu mettre une boite de dialogue non modale pendant
l'exécution de la macro avec un bouton "Annuler". Tu mets une variable qui
change d'état quand on clique sur ce bouton, et dans la macro tu contrôles
que la variable a toujours le même état avant de continuer (une boucle par
exemple).

Si c'est pas clair, fais-moi signe.

--
Patrick

"FORUM excel" wrote in message
news:Ow%
Bonsoir à tous.
Je souhaiterais pouvoir faire une action lorsque l'utilisateur lance une
macro (relativement longue) et qu'il veut l'arreter grace a la touche
ECHAP.
J'ai bien trouvé qu'il y avait un code erreur lui correspondant, mais
meme quand je met un on error et que je gere cette erreur, je tombe sur la
fenetre de debugage....
Quelqu'un aurait-il une idée ?

Merci
Sébastien




Avatar
AV
Essaye ça :

Sub laMacro()
Application.OnKey "{esc}", "zz_esc"
'blabla ta macro
'....
End Sub

Sub zz_Esc()
MsgBox "Désolé...touche Echap désactivée !"
Application.OnKey "{esc}"
End
End Sub

AV
Avatar
amydale
Seulement ca ?
Pfff... comme quoi, des fois on se casse vraiment la tete pour pas grand
chose.
Je vais essayer ca des demain !! merci a vous deux.
Je n'aime pas trop la solution feuille non modale car si je me souviens
bien,
sous excel 97, il n'y a pas de feuilles non modale... ca serait a verifier.

Merci quand meme.
Sébastien

"AV" a écrit dans le message de news:

Essaye ça :

Sub laMacro()
Application.OnKey "{esc}", "zz_esc"
'blabla ta macro
'....
End Sub

Sub zz_Esc()
MsgBox "Désolé...touche Echap désactivée !"
Application.OnKey "{esc}"
End
End Sub

AV