Microsoft 365 Sécurité macro - Exécuter une macro seulement après une autre

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 !

Titou99

XLDnaute Junior
Bonjour,

J'aimerais savoir si Excel VBA permet d'afficher un message d'erreur si on exécute une macro avant l'autre

J'ai deux macro :

- TransfertAMDEC --> Macro à exécuter en première
- CommandButtonTransfert2 --> Macro à exécuter en deuxième

Je voudrais que si on vient sans faire exprès cliquer sur CommandButtonTransfert2 sans avoir cliquer sur TransfertAMDEC avant, qu'il y est un message d'erreur du genre "Veuillez cliquer sur TransfertAMDEC avant CommandButtonTransfert2"

Merci d'avance à ceux qui regarderont cette discussion,

Titou
 
Solution
Bonjour.
Essayez If Not Flag Then Exit Sub dans la seconde procédure.
Ce n'est pas très orthodoxe d'utiliser des opérateurs arithmétiques ou relationnels dans une expression ne comportant que des termes Boolean.
Bonjour Titou, une idée parmi d'autres :

Le plus simple est de gérer ça avec un flag de sécurité.
Vous déclarez une variable Public, par exemple Public Flag as boolean. ( il sera à False par défaut )

Dans TransfertAMDEC vous mettez au début Flag=False et à la fin Flag=True.

Dans CommandButtonTransfert2 vous testez ce flag en début de macro :
If Flag=False then exit Sub.
et à la fin vous le réinitialiser avec Flag=False.
 
Vous avez déclaré la variable en Public avant le Sub ?
VB:
Option Explicit
Public Flag As Boolean
Sub TransfertAMDEC()
Flag = False
' macro
Flag = True
End Sub
Sub CommandButtonTransfert2()
If Flag = False Then Exit Sub
' Si on arrive ici Flag=True
' macro
Flag = False
End Sub
 
Bonjour.
Essayez If Not Flag Then Exit Sub dans la seconde procédure.
Ce n'est pas très orthodoxe d'utiliser des opérateurs arithmétiques ou relationnels dans une expression ne comportant que des termes Boolean.
 
Bonjour
Le demi-corse que je suis prévaudrait sur le demi-espagnol que je suis également et --->> se contenterait de faire varier la propriété" visible (bien mieux que enabled) du bouton CommandButtonTransfert2
- false au départ
- true à l'issue de la première macro
- false à à fin de la sub évènementielle de CommandButtonTransfert2
Aucune possibilité ainsi de geste à ne pas faire
 
- 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

Discussions similaires

Retour