arreter l'execution d'une macro

  • Initiateur de la discussion Initiateur de la discussion bjh
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

bjh

Guest
bonjour le forum
j'aimerai savoir s'il existe une procédure affectée à un bouton dans une USF qui permet d'arreter une macro en cours d'exécution
merci @ tous
bjh
 
Bonjour Bjh, Temjeh, le forum

Utilisation de la touche escape, mais avec une gestion d'erreur ce qui permet de controler le processus.

Cordialement, A+

Sub test()
Dim Demande_Erreur As Integer
Dim Compteur As Long, Compteur2 As Long
'redirige la touche echap sur une erreur utilisateur
'Application.EnableCancelKey = xlErrorHandler
'sur erreur envoie la routine
On Error GoTo Gere_Erreurs
'boucle d'attente
For Compteur = 1 To 100000000
Compteur2 = Compteur
Next Compteur
MsgBox "Boucle exécutée, compteur2 vaut " & Compteur2
Exit Sub
Gere_Erreurs:
If Err = 18 Then Demande_Erreur = MsgBox("Touche escape interceptée !", vbRetryCancel, Title:="Sortie volontaire") Else Demande_Erreur = MsgBox("Erreur numéro " & Err & " interceptée !" & Chr$(10) & "Type d'erreur : " & Error(Err), vbRetryCancel, Title:="Erreur détectée !")
If Demande_Erreur = 4 Then
Resume
Else
If Err = 18 Then
MsgBox "Vous avez arrété compteur2 à " & Compteur2
Else
'traitement des erreurs autres que la touche escape
End If
End If
End Sub
 
Rebonjour

j'avais laissé un ' mal placé

A+

Sub test()
Dim Demande_Erreur As Integer
Dim Compteur As Long, Compteur2 As Long
'redirige la touche echap sur une erreur utilisateur
Application.EnableCancelKey = xlErrorHandler
'sur erreur envoie la routine
On Error GoTo Gere_Erreurs
'boucle d'attente
For Compteur = 1 To 100000000
Compteur2 = Compteur
Next Compteur
MsgBox "Boucle exécutée, compteur2 vaut " & Compteur2
Exit Sub
Gere_Erreurs:
If Err = 18 Then Demande_Erreur = MsgBox("Touche escape interceptée !", vbRetryCancel, Title:="Sortie volontaire") Else Demande_Erreur = MsgBox("Erreur numéro " & Err & " interceptée !" & Chr$(10) & "Type d'erreur : " & Error(Err), vbRetryCancel, Title:="Erreur détectée !")
If Demande_Erreur = 4 Then
Resume
Else
If Err = 18 Then
MsgBox "Vous avez arrété compteur2 à " & Compteur2
Else
'traitement des erreurs autres que la touche escape
End If
End If
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
232
Réponses
66
Affichages
915
Réponses
2
Affichages
115
Réponses
12
Affichages
229
Retour