Bonjour,
Peut-on enchainer plusieurs Macros ?
Si oui comment ?
Merci à vous
Bonjour,
Peut-on enchainer plusieurs Macros ?
Si oui comment ?
Merci à vous
SaluEnvoyé par malabarbe
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Sub test() Dim X As Integer X = MsgBox("OUI/NON", vbYesNo + vbQuestion, "Question") If X = 6 Then Call test_O Else Call test_N End If End Sub Sub test_O() MsgBox "Oui" End Sub Sub test_N() MsgBox "Non" End Sub
Salut,
Merci pour ta réponse
Mais je crois m'être mal exprimé !
Ma question était plutot :
Une macro peut-elle en appeller une autre ?
SalutEnvoyé par malabarbe
Dans mon exemple, la macro Test appelle soit la macro Test_O, soit la macro Test_N suivant le bouton utilisé.
Si ce n'est pas ce que tu veux, détailles tes besoins
A+
Oui, ce que je voudrais faire, c'est que a la
fin de la Macro que j'exécute, juste la ligne
avant le : End Sub, un appel pour lancer directement
une autre Macro sans intervention de ma part.
si c'est dans le meme module, c'est vraiment pas compliqué
si c'est dans des modules diferends ( ou des classeurs differends?), je ne sais plus, je voudrais pas te dire de betises , mais tu dois utiliser run
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub premiere() MsgBox "premiere macro" End Sub Sub seconde() MsgBox "seconde macro" End Sub Sub avance() premiere seconde End Sub
OK,
C'est bon, ton code est good
Merci à toi
@ +
SalutEnvoyé par malabarbe
Moi, je préfére utiliser l'instruction Call, plutôt que seulement le nom de la macro. C'est pareil, sauf lorsque tu fait des recherches sur beaucoup de lignes de code et de macros
A+
salut,
Merci, je vais tester avec le Call
@ +
Attention malabarbe
pense a utiliser Public en debut de module si tu veux utiliser la valeur d'une variable dans plusieurs macro
fais le test sans Public tu comprendras.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Public a Sub macro_1() a = 1 Call macro_2 End Sub Sub macro_2() Range("A1").Value = a End Sub
ça à été le sujet d'une grosse galère quand j'ai débuté avec VBA et que je n'avais pas internet avec son Forum de www.developpez.net
Bonsoir,
Oui, cela va beaucoup mieux comme ça
Merci
@ +
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager