Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
XL 2016Code vba: Arrêter l'exécution d'une macro en cours avec condition
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 !
Je recherche en vba le code pour arrêter l'exécution d'une macro en cours.
Si macro 1 est en cours d'exécution --> arrêter la macro, si macro 1 n'est pas en cours d'exécution ne rien faire.
Afin d'être plus explicite dans ma demande.
Il arrive que des utilisateurs oublient de fermer le fichier excel.
Je programme alors une fermeture automatique du fichier sans enregistrement à 20:58, cela fonctionne bien sauf quand j'ai une boîte de dialogue en cours d'exécution.
Sub QuitterOUSauvegarder()
ActiveWorkbook.Close True ' ou False si on ne veut pas enregistrer
'Application.Quit 'Atttention Sort totalement d'excel si on active la ligne
End Sub
Sub QuitterOUSauvegarder()
ActiveWorkbook.Close True ' ou False si on ne veut pas enregistrer
'Application.Quit 'Atttention Sort totalement d'excel si on active la ligne
End Sub
J'avais déjà essayé votre code, mais cela ne fonctionne pas si la boîte de dialogue de la feuille D3 est en cours d'exécution.
J'exécute le code suivant à l'ouverture du workbook
VB:
Sub Workbook_Open()
Application.OnTime TimeValue("21:58:00"), "Fermeture"
End Sub
J'ai essayé d'envoyer la commande suivante dans votre macro de fermeture pour arrêter l'exécution de la boîte de dialogue si elle est en cours d'exécution, mais cela ne fonctionne pas non plus
Essaye cela mais je suis pas convaincu du tout que cela agisse sur une boite déjà ouverte.
application.displayAlerts= false
Si je comprends bien les utilisateurs partent en laissant une boite de dialogue ouverte !
Peut être une éducation à revoir !!! 😳
Exemple : Il ne partent de chez eux en laissant la porte ouverte et bien ici c'est pareil....
il faut mettre une variable boolénne en global (Par exemple"EnCours")
l'initialiser au lancement de la macro : EnCours=True
Puis boucler sur un While EnCours ... Loop
Il suffit de mettre EnCours à false pour arrêter la macro, que ce soit par l'appui sur un bouton ou dans une autre procédure ou avec un OnTime
il faut mettre une variable boolénne en global (Par exemple"EnCours")
l'initialiser au lancement de la macro : EnCours=True
Puis boucler sur un While EnCours ... Loop
Il suffit de mettre EnCours à false pour arrêter la macro, que ce soit par l'appui sur un bouton ou dans une autre procédure ou avec un OnTime
- 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