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

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.

sylvanu

XLDnaute Barbatruc
Supporter XLD
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.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
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
 

Dranreb

XLDnaute Barbatruc
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.
 

jmfmarques

XLDnaute Accro
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
 

Discussions similaires

Statistiques des forums

Discussions
312 111
Messages
2 085 403
Membres
102 883
dernier inscrit
jameseyz