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
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
.
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 <michel@Suppgaboly.com> a écrit dans le
message :
3FD05622.8DBDB180@Suppgaboly.com...
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
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
.
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
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 <michel@Suppgaboly.com> a écrit dans le message :
3FD05622.8DBDB180@Suppgaboly.com...
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+
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+