OVH Cloud OVH Cloud

lancer une macro depuis une autre

5 réponses
Avatar
Titi Tls
bonjour à tous(tes)
pour vous ca doit etre un probleme simple mais pour mois....
comment fait on pour appeller une macro dans une autre macro
merci
A+

5 réponses

Avatar
Michel Gaboly
Bonjour,

Si elles sont dans le même projet (classeur) :

Private Sub Macro1
...
Macro2 ' Appel de la seconde Macro
...
End Sub

Si elles ne sont pas dans le même module, il ne faut pas que la
seconde macro soit précédée du mot "Private", comme ici la
première.

Voilà.



bonjour à tous(tes)
pour vous ca doit etre un probleme simple mais pour mois....
comment fait on pour appeller une macro dans une autre macro
merci
A+


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
Ellimac
Bonjour,

Taper le nom de la macro, si c'est dans le même projet.

Camille

-----Message d'origine-----
bonjour à tous(tes)
pour vous ca doit etre un probleme simple mais pour
mois....

comment fait on pour appeller une macro dans une autre
macro

merci
A+





.



Avatar
Titi Tls
bonjour
j'ai une macro dans "ThisWorkBook"
Sub Ferme()
.......
End Sub

Dans le "module 1" j'ai une macro :
Sub mise_en_forme()
et la je veux excuter la macro Ferme()
End Sub

voila
et si je rajoute juste Ferme()
il me dit :
Erreur de compilation:
Erreur de syntaxe

merci
A+




Michel Gaboly a écrit dans le message :

Bonjour,

Si elles sont dans le même projet (classeur) :

Private Sub Macro1
...
Macro2 ' Appel de la seconde Macro
...
End Sub

Si elles ne sont pas dans le même module, il ne faut pas que la
seconde macro soit précédée du mot "Private", comme ici la
première.

Voilà.



bonjour à tous(tes)
pour vous ca doit etre un probleme simple mais pour mois....
comment fait on pour appeller une macro dans une autre macro
merci
A+


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





Avatar
Vincent.
Salut !
Il suffit de rajouter l'objet XL dans lequel se situe la
macro. Dans ton cas, ça donne :
Sub mise_en_forme()
ThisWorkbook.Ferme
End Sub

Je conseille fortement de toujours mettre l'objet, même
lorsqu'il s'agit du nom du module, en particulier, parce
que cela permet de visualiser les macros déjà écrites
disponibles, et également, dans les projets complexes, de
pouvoir utiliser deux fois un même nom de macro sans que
cela pose de pb...
A+

V.

-----Message d'origine-----
bonjour
j'ai une macro dans "ThisWorkBook"
Sub Ferme()
.......
End Sub

Dans le "module 1" j'ai une macro :
Sub mise_en_forme()
et la je veux excuter la macro Ferme()
End Sub

voila
et si je rajoute juste Ferme()
il me dit :
Erreur de compilation:
Erreur de syntaxe

merci
A+




Michel Gaboly a écrit dans le
message :


Bonjour,

Si elles sont dans le même projet (classeur) :

Private Sub Macro1
...
Macro2 ' Appel de la seconde Macro
...
End Sub

Si elles ne sont pas dans le même module, il ne faut
pas que la


seconde macro soit précédée du mot "Private", comme ici
la


première.

Voilà.



bonjour à tous(tes)
pour vous ca doit etre un probleme simple mais pour
mois....



comment fait on pour appeller une macro dans une
autre macro



merci
A+


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





.





Avatar
Michel Gaboly
Re,

Il ne faut pas écrire "Ferme()", mais "Ferme", comme je te
l'indiquais ;-))

D'autre part il est toujours + compliqué d'appeler des macros
qui ne sont pas dans un module standard.

Je te conseille de ne mettre dans les autres types de modules que
les procédures événementielles (_Click, _Change, ...) ou des
procédures qui sont appelées exclusivement par une procédure
événementielle du même module.

Dans tous les cas, place les procédures dans un module standard
(ni ThisWorkbook, ni module rattaché à une feuille ou à un User-
Form, ni module de classe générique) et appelle-les comme indiqué.

Ici, donc, déplace ton module "Ferme" dans un module standard, et
appelle-le ainsi.

Sub mise_en_forme()
Ferme
End Sub

NB - Il ne doit pas être précédé de "Private", ce qui limiterait sa
portée au module le contenant.



bonjour
j'ai une macro dans "ThisWorkBook"
Sub Ferme()
.......
End Sub

Dans le "module 1" j'ai une macro :
Sub mise_en_forme()
et la je veux excuter la macro Ferme()
End Sub

voila
et si je rajoute juste Ferme()
il me dit :
Erreur de compilation:
Erreur de syntaxe

merci
A+

Michel Gaboly a écrit dans le message :

Bonjour,

Si elles sont dans le même projet (classeur) :

Private Sub Macro1
...
Macro2 ' Appel de la seconde Macro
...
End Sub

Si elles ne sont pas dans le même module, il ne faut pas que la
seconde macro soit précédée du mot "Private", comme ici la
première.

Voilà.



bonjour à tous(tes)
pour vous ca doit etre un probleme simple mais pour mois....
comment fait on pour appeller une macro dans une autre macro
merci
A+


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





--
Cordialement,

Michel Gaboly
http://www.gaboly.com