OVH Cloud OVH Cloud

Contrôle du clavier

1 réponse
Avatar
probsim
Bonjour,

j'ai une macro qui prend environ 2 minutes à exécuter et je voudrais
empêcher l'utilisateur de mon application de l'arrêter en pressant sur
ESCAPE ou Ctrl Break. À tout le moins je voudrais prendre le contrôle après
un ESCAPE pour pouvoir faire une "sortie contrôlée" de la macro.

J'ai essayé avec
Application.OnKey "{ESC}", "mamacrostop"

mais l'instruction "OnKey" s'applique seulement à la fin de la macro. Durant
l'exécution de la macro la touche ESCAPE reprend son comportement habituel.
J'utilise Excel 97 et XP.

Je remercie à l'avance celui, ceux et/ou celle et celles qui pourront me
dépanner.

Guy

1 réponse

Avatar
papou
Bonjour
Il faut utiliser la gestion d'erreur sur l'appui de la touche Echap.
Pour cela il te faut commencer ta macro par :
Sub TaMacro()
On Error GoTo Gestion_Erreur
Application.EnableCancelKey = xlErrorHandler
'Ton code ici
'...
Exit Sub

Gestion_Erreur:
If Err = 18 Then _
'Ta procédure pour appui sur Echap
End Sub

Cordialement
Pascal

"probsim" a écrit dans le message de
news:
Bonjour,

j'ai une macro qui prend environ 2 minutes à exécuter et je voudrais
empêcher l'utilisateur de mon application de l'arrêter en pressant sur
ESCAPE ou Ctrl Break. À tout le moins je voudrais prendre le contrôle
après

un ESCAPE pour pouvoir faire une "sortie contrôlée" de la macro.

J'ai essayé avec
Application.OnKey "{ESC}", "mamacrostop"

mais l'instruction "OnKey" s'applique seulement à la fin de la macro.
Durant

l'exécution de la macro la touche ESCAPE reprend son comportement
habituel.

J'utilise Excel 97 et XP.

Je remercie à l'avance celui, ceux et/ou celle et celles qui pourront me
dépanner.

Guy