Si condition Macro 1 "true" alors éxécuter Macro 2

C

Caliméro

Guest
Bonjour à Tous,

J'aie un petit soucis pour activer une macro "mère de 2 petites macro".

Vue le taux quasi inexistant de non réponse aux problèmes (parfois très ardus !) suscité sur ce forum; je pense que les plus ingénieux internautes pourront m'apporter leur aide.

Ainsi j'aie une macro A activer par boutton

Cette macro A englobe 2 macros : macro 1 (qui gère une condition) et macro 2 (qui gère une tâche)

J'aimerai savoir comment codifier en VBA que lorsque je clique sur mon bouton (macro A) alors ET DANS L'ORDRE :
- je lance la macro 1,
- Si la condition de macro 1 n'est pas vérifiée alors STOP
- Si la condition de macro est vérifiée alors JE LANCE macro 2.

Merci à tous. Super site.

** C'est vraiment trop injuste **
 
P

Pascal76

Guest
Bonjour

Tu peux faire par exemple:

Déclarer un booleen en public

Public BoolMacro1 as Boolean

Sub Macro0()

Macro1

If BoolMacro1 = true then
Macro2
end if

End sub

Et une macro1 du style

Sub Macro1()
If ....... then
BoolMacro1=true
else
BoolMacro1=False
End if

End sub

Bon courage

Pascal
 
L

léa

Guest
Bonjour Caliméro,

Et si tu faisais une seule macro, dans laquelle tu ferais appel à deux sous routine sous condition:
je m'explique
Macro -->
if condition 1 then
macro 2
else
Macro3
end If

macro2 et macro3 étant le nom de chacune de tes 2 sous routines

Enfin je pense à cette astuce mais je ne l'ai pas essayée
Tiens moi au courant

Bon courage
léa
 
K

kloss

Guest
dim boStop as boolean


sub button_click()
boStop = false
call macro_1
if boStop = false then
call macro_2
end sub


sub macro_1
...
if blabla = false then boStop = true
exit sub
...
end sub


sub macro_2
...
end sub
 
P

Pascal76

Guest
Re

T'inquiètes pas pour le télescopage.

Juste une précision pour Caliméro.
Kloss a déclaré son booléen avec Dim

Cela marchera si les macros sont dans le même module.

Par contre si tes macros sont dans des modules différents déclare ta variable Public comme je te l'ai marqué au début d'un module

Pascal
 
L

léa

Guest
Bonjour Kloss, Bonjour Pascal,

Kloss, mais non tu n'es pas trop lent, 13h39 c'est lheure de la digestion
Quand a mon doute , Kloss et Pascal, vous m'avez rassurée avec la petite précision de pascal que je note sur mes tablettes

Cordialement
Léa
 

Statistiques des forums

Discussions
312 491
Messages
2 088 889
Membres
103 982
dernier inscrit
krakencolas