je n'arrive pas à trouver la syntaxe d'appel d'une macro "X" située dans un
userform "U" d'un projet "A" par une macro "Y" se trouvant dans un module
standard d'un autre projet B. Les réponses à toutes mes tentatives est que
"le système ne trouve pas la macro."
j'ai essayé :
sub Y..
.....
1 ----- Run ("Perso.xls!AffBaseDeDonnées.Synchroniserfeuille")
'AffBaseDeDonnées est le userform, Synchroniserfeuille la macro, perso.xls
le classeur
3------Call Perso.AffBaseDeDonnées.Synchroniserfeuille 'ici
j'ai une erreur car perso, nom du projet, n'est pas déclarée comme variable
les deux premières fonctionnent bien avec un module standard mais là, avec
un userform il y a problème. Si quelqu'un avait la réponse à cette question
je le remercie d'avance.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel41
Bonsoir Transformer X en une macro X' dans un module de classe dans A U de A appellera le module de classe X' Faire une macro Y' dans un module ordinaire de A appelant X' Y appellera Y' de A @+ M41
"jeclephi" a écrit dans le message de news: %234qG9X$
Bonsoir,
je n'arrive pas à trouver la syntaxe d'appel d'une macro "X" située dans un userform "U" d'un projet "A" par une macro "Y" se trouvant dans un module standard d'un autre projet B. Les réponses à toutes mes tentatives est que "le système ne trouve pas la macro." j'ai essayé : sub Y.. ..... 1 ----- Run ("Perso.xls!AffBaseDeDonnées.Synchroniserfeuille") 'AffBaseDeDonnées est le userform, Synchroniserfeuille la macro, perso.xls le classeur
3------Call Perso.AffBaseDeDonnées.Synchroniserfeuille 'ici j'ai une erreur car perso, nom du projet, n'est pas déclarée comme variable
les deux premières fonctionnent bien avec un module standard mais là, avec un userform il y a problème. Si quelqu'un avait la réponse à cette question je le remercie d'avance.
Jcp
Bonsoir
Transformer X en une macro X' dans un module de classe dans A
U de A appellera le module de classe X'
Faire une macro Y' dans un module ordinaire de A appelant X'
Y appellera Y' de A
@+
M41
"jeclephi" <jcp.antispam.sabatini@wanadoo.fr> a écrit dans le message de
news: %234qG9X$NGHA.2012@TK2MSFTNGP14.phx.gbl...
Bonsoir,
je n'arrive pas à trouver la syntaxe d'appel d'une macro "X" située dans
un userform "U" d'un projet "A" par une macro "Y" se trouvant dans un
module standard d'un autre projet B. Les réponses à toutes mes tentatives
est que "le système ne trouve pas la macro."
j'ai essayé :
sub Y..
.....
1 ----- Run ("Perso.xls!AffBaseDeDonnées.Synchroniserfeuille")
'AffBaseDeDonnées est le userform, Synchroniserfeuille la macro, perso.xls
le classeur
3------Call Perso.AffBaseDeDonnées.Synchroniserfeuille 'ici
j'ai une erreur car perso, nom du projet, n'est pas déclarée comme
variable
les deux premières fonctionnent bien avec un module standard mais là,
avec un userform il y a problème. Si quelqu'un avait la réponse à cette
question je le remercie d'avance.
Bonsoir Transformer X en une macro X' dans un module de classe dans A U de A appellera le module de classe X' Faire une macro Y' dans un module ordinaire de A appelant X' Y appellera Y' de A @+ M41
"jeclephi" a écrit dans le message de news: %234qG9X$
Bonsoir,
je n'arrive pas à trouver la syntaxe d'appel d'une macro "X" située dans un userform "U" d'un projet "A" par une macro "Y" se trouvant dans un module standard d'un autre projet B. Les réponses à toutes mes tentatives est que "le système ne trouve pas la macro." j'ai essayé : sub Y.. ..... 1 ----- Run ("Perso.xls!AffBaseDeDonnées.Synchroniserfeuille") 'AffBaseDeDonnées est le userform, Synchroniserfeuille la macro, perso.xls le classeur
3------Call Perso.AffBaseDeDonnées.Synchroniserfeuille 'ici j'ai une erreur car perso, nom du projet, n'est pas déclarée comme variable
les deux premières fonctionnent bien avec un module standard mais là, avec un userform il y a problème. Si quelqu'un avait la réponse à cette question je le remercie d'avance.
Jcp
michdenis
Bonjour jeclephi,
Différentes syntaxes possibles ...
A ) Nom de la macro : "test1" Si ton classeur est fermé et que la macro appelée se retrouve dans un module standard : Application.Run "'C:Mes documentsAnswer.xls'!test1"
Même chose mais si le classeur est déjà ouvert : Application.Run "Answer.xls!test1"
B ) Si le nom de ton classeur contient des espaces :
L'utilisation des apostrophes "'" permet d'utiliser un nom de classeur contenant des espaces , sans ces dernières, point de salut. Dim LaMacro As String LaMacro = "'" & ThisWorkbook.Name & "'!test1" Application.Run LaMacro
C) Si la macro appelée est dans un module feuille du classeur au lieu d'être dans un module Standard :
Dans la ligne de commande, tu dois insérer le nom de l'objet "Feuille" que tu retrouves dans la fenêtre VBE (visual basic editor). Dans la fenêtre de gauche de ton projet, la liste des feuilles est affichée dans ce format : "toto"("Feuil4") toto = Nom de l'onglet de la feuille Feuil4 = Propriété Name de l'objet Feuille (worksheet) Dans la commande suiivante, tu dois utiliser le nom de la feuille et non de l'onglet de la feuille
Si le fichier est ouvert : Application.Run "modele.xls!Feuil4.test1"
Si le fichier est fermé : Application.Run "'C:Mes documentsAnswer.xls'!Feuil4.test1"
Salutations!
"jeclephi" a écrit dans le message de news: %234qG9X$ Bonsoir,
je n'arrive pas à trouver la syntaxe d'appel d'une macro "X" située dans un userform "U" d'un projet "A" par une macro "Y" se trouvant dans un module standard d'un autre projet B. Les réponses à toutes mes tentatives est que "le système ne trouve pas la macro." j'ai essayé : sub Y.. ..... 1 ----- Run ("Perso.xls!AffBaseDeDonnées.Synchroniserfeuille") 'AffBaseDeDonnées est le userform, Synchroniserfeuille la macro, perso.xls le classeur
3------Call Perso.AffBaseDeDonnées.Synchroniserfeuille 'ici j'ai une erreur car perso, nom du projet, n'est pas déclarée comme variable
les deux premières fonctionnent bien avec un module standard mais là, avec un userform il y a problème. Si quelqu'un avait la réponse à cette question je le remercie d'avance.
Jcp
Bonjour jeclephi,
Différentes syntaxes possibles ...
A )
Nom de la macro : "test1"
Si ton classeur est fermé et que la macro appelée se retrouve dans un module standard :
Application.Run "'C:Mes documentsAnswer.xls'!test1"
Même chose mais si le classeur est déjà ouvert :
Application.Run "Answer.xls!test1"
B ) Si le nom de ton classeur contient des espaces :
L'utilisation des apostrophes "'" permet d'utiliser
un nom de classeur contenant des espaces , sans
ces dernières, point de salut.
Dim LaMacro As String
LaMacro = "'" & ThisWorkbook.Name & "'!test1"
Application.Run LaMacro
C) Si la macro appelée est dans un module feuille du classeur au lieu d'être dans un module Standard :
Dans la ligne de commande, tu dois insérer le nom de l'objet "Feuille" que tu retrouves dans la fenêtre VBE (visual basic editor).
Dans la fenêtre de gauche de ton projet, la liste des feuilles est affichée dans ce format : "toto"("Feuil4")
toto = Nom de l'onglet de la feuille
Feuil4 = Propriété Name de l'objet Feuille (worksheet)
Dans la commande suiivante, tu dois utiliser le nom de la feuille et non de l'onglet de la feuille
Si le fichier est ouvert :
Application.Run "modele.xls!Feuil4.test1"
Si le fichier est fermé :
Application.Run "'C:Mes documentsAnswer.xls'!Feuil4.test1"
Salutations!
"jeclephi" <jcp.antispam.sabatini@wanadoo.fr> a écrit dans le message de news: %234qG9X$NGHA.2012@TK2MSFTNGP14.phx.gbl...
Bonsoir,
je n'arrive pas à trouver la syntaxe d'appel d'une macro "X" située dans un
userform "U" d'un projet "A" par une macro "Y" se trouvant dans un module
standard d'un autre projet B. Les réponses à toutes mes tentatives est que
"le système ne trouve pas la macro."
j'ai essayé :
sub Y..
.....
1 ----- Run ("Perso.xls!AffBaseDeDonnées.Synchroniserfeuille")
'AffBaseDeDonnées est le userform, Synchroniserfeuille la macro, perso.xls
le classeur
3------Call Perso.AffBaseDeDonnées.Synchroniserfeuille 'ici
j'ai une erreur car perso, nom du projet, n'est pas déclarée comme variable
les deux premières fonctionnent bien avec un module standard mais là, avec
un userform il y a problème. Si quelqu'un avait la réponse à cette question
je le remercie d'avance.
A ) Nom de la macro : "test1" Si ton classeur est fermé et que la macro appelée se retrouve dans un module standard : Application.Run "'C:Mes documentsAnswer.xls'!test1"
Même chose mais si le classeur est déjà ouvert : Application.Run "Answer.xls!test1"
B ) Si le nom de ton classeur contient des espaces :
L'utilisation des apostrophes "'" permet d'utiliser un nom de classeur contenant des espaces , sans ces dernières, point de salut. Dim LaMacro As String LaMacro = "'" & ThisWorkbook.Name & "'!test1" Application.Run LaMacro
C) Si la macro appelée est dans un module feuille du classeur au lieu d'être dans un module Standard :
Dans la ligne de commande, tu dois insérer le nom de l'objet "Feuille" que tu retrouves dans la fenêtre VBE (visual basic editor). Dans la fenêtre de gauche de ton projet, la liste des feuilles est affichée dans ce format : "toto"("Feuil4") toto = Nom de l'onglet de la feuille Feuil4 = Propriété Name de l'objet Feuille (worksheet) Dans la commande suiivante, tu dois utiliser le nom de la feuille et non de l'onglet de la feuille
Si le fichier est ouvert : Application.Run "modele.xls!Feuil4.test1"
Si le fichier est fermé : Application.Run "'C:Mes documentsAnswer.xls'!Feuil4.test1"
Salutations!
"jeclephi" a écrit dans le message de news: %234qG9X$ Bonsoir,
je n'arrive pas à trouver la syntaxe d'appel d'une macro "X" située dans un userform "U" d'un projet "A" par une macro "Y" se trouvant dans un module standard d'un autre projet B. Les réponses à toutes mes tentatives est que "le système ne trouve pas la macro." j'ai essayé : sub Y.. ..... 1 ----- Run ("Perso.xls!AffBaseDeDonnées.Synchroniserfeuille") 'AffBaseDeDonnées est le userform, Synchroniserfeuille la macro, perso.xls le classeur
3------Call Perso.AffBaseDeDonnées.Synchroniserfeuille 'ici j'ai une erreur car perso, nom du projet, n'est pas déclarée comme variable
les deux premières fonctionnent bien avec un module standard mais là, avec un userform il y a problème. Si quelqu'un avait la réponse à cette question je le remercie d'avance.
Jcp
jeclephi
Merci à Michel41(mais je n'ai pas beaucoup de notion sur les moodules de classe) et michdenis pour vos réponses que je vais essayer. Cependant dans aucune des deux il n'est question du code contenu dans un Userform. A quoi le code contenu un userform est il similaire pour l'appel de macro, à celui d'une feuille de calcul ou bien à celui du code d'un module standard?
Merci pour les éventuels éclaircissements
Jeclephi
Merci à Michel41(mais je n'ai pas beaucoup de notion sur les moodules de
classe) et michdenis pour vos réponses que je vais essayer.
Cependant dans aucune des deux il n'est question du code contenu dans un
Userform.
A quoi le code contenu un userform est il similaire pour l'appel de macro, à
celui d'une feuille de calcul ou bien à celui du code d'un module standard?
Merci à Michel41(mais je n'ai pas beaucoup de notion sur les moodules de classe) et michdenis pour vos réponses que je vais essayer. Cependant dans aucune des deux il n'est question du code contenu dans un Userform. A quoi le code contenu un userform est il similaire pour l'appel de macro, à celui d'une feuille de calcul ou bien à celui du code d'un module standard?
Merci pour les éventuels éclaircissements
Jeclephi
michdenis
Bonjour Jecelphi,
Nom de la macro dans le formulaire : CommandButton1_Click Attention : J'ai enlevé le mot "Private" à la déclaration de la procédure dans le formulaire
Pour appeler cette procédure du formulaire dans une autre procédure du même classeur : même si ce dernier n'est pas "ouvert : 2 syntaxes possibles : '------------------------ UserForm1.CommandButton1_Click OU Call UserForm1.CommandButton1_Click '------------------------
Cette syntaxe ne fonctionne pas : Application.run "UserForm1.CommandButton1_Click"
Cependant, si tu dois appeler une procédure d'un formulaire d'un classeur fermé, ajoute au classeur fermé une procédure spéciale dans un module standard dont l'objet sera d'exécuter la macro du formulaire lorsque tu le désireras.
Tu pourras alors appelé la macro du formulaire en appelant la macro spéciale du module standard... la syntaxe t'est donnée dans mon autre message ... Application.Run "'C:Mes documentsAnswer.xls'!test1" Test1 étant le nom de la macro du classeur Answer.xls fermé contenant l'appel du formulaire contenu dans ce classeur.
Salutations!
"jeclephi" a écrit dans le message de news: %
Merci à Michel41(mais je n'ai pas beaucoup de notion sur les moodules de classe) et michdenis pour vos réponses que je vais essayer. Cependant dans aucune des deux il n'est question du code contenu dans un Userform. A quoi le code contenu un userform est il similaire pour l'appel de macro, à celui d'une feuille de calcul ou bien à celui du code d'un module standard?
Merci pour les éventuels éclaircissements
Jeclephi
Bonjour Jecelphi,
Nom de la macro dans le formulaire : CommandButton1_Click
Attention : J'ai enlevé le mot "Private" à la déclaration de la procédure
dans le formulaire
Pour appeler cette procédure du formulaire dans une autre procédure du même classeur :
même si ce dernier n'est pas "ouvert : 2 syntaxes possibles :
'------------------------
UserForm1.CommandButton1_Click
OU
Call UserForm1.CommandButton1_Click
'------------------------
Cette syntaxe ne fonctionne pas :
Application.run "UserForm1.CommandButton1_Click"
Cependant, si tu dois appeler une procédure d'un formulaire d'un classeur fermé,
ajoute au classeur fermé une procédure spéciale dans un module standard dont
l'objet sera d'exécuter la macro du formulaire lorsque tu le désireras.
Tu pourras alors appelé la macro du formulaire en appelant la macro spéciale
du module standard... la syntaxe t'est donnée dans mon autre message ...
Application.Run "'C:Mes documentsAnswer.xls'!test1"
Test1 étant le nom de la macro du classeur Answer.xls fermé contenant l'appel
du formulaire contenu dans ce classeur.
Salutations!
"jeclephi" <jcp.antispam.sabatini@wanadoo.fr> a écrit dans le message de news: %23U4modDOGHA.2884@TK2MSFTNGP12.phx.gbl...
Merci à Michel41(mais je n'ai pas beaucoup de notion sur les moodules de
classe) et michdenis pour vos réponses que je vais essayer.
Cependant dans aucune des deux il n'est question du code contenu dans un
Userform.
A quoi le code contenu un userform est il similaire pour l'appel de macro, à
celui d'une feuille de calcul ou bien à celui du code d'un module standard?
Nom de la macro dans le formulaire : CommandButton1_Click Attention : J'ai enlevé le mot "Private" à la déclaration de la procédure dans le formulaire
Pour appeler cette procédure du formulaire dans une autre procédure du même classeur : même si ce dernier n'est pas "ouvert : 2 syntaxes possibles : '------------------------ UserForm1.CommandButton1_Click OU Call UserForm1.CommandButton1_Click '------------------------
Cette syntaxe ne fonctionne pas : Application.run "UserForm1.CommandButton1_Click"
Cependant, si tu dois appeler une procédure d'un formulaire d'un classeur fermé, ajoute au classeur fermé une procédure spéciale dans un module standard dont l'objet sera d'exécuter la macro du formulaire lorsque tu le désireras.
Tu pourras alors appelé la macro du formulaire en appelant la macro spéciale du module standard... la syntaxe t'est donnée dans mon autre message ... Application.Run "'C:Mes documentsAnswer.xls'!test1" Test1 étant le nom de la macro du classeur Answer.xls fermé contenant l'appel du formulaire contenu dans ce classeur.
Salutations!
"jeclephi" a écrit dans le message de news: %
Merci à Michel41(mais je n'ai pas beaucoup de notion sur les moodules de classe) et michdenis pour vos réponses que je vais essayer. Cependant dans aucune des deux il n'est question du code contenu dans un Userform. A quoi le code contenu un userform est il similaire pour l'appel de macro, à celui d'une feuille de calcul ou bien à celui du code d'un module standard?
Merci pour les éventuels éclaircissements
Jeclephi
jeclephi
Si avec toutes ces précisions, dont je te remercie beaucoup, je ne m'en sors pas j'aurai du ssouci à me faire. Jcp NB:je vais placer précieusement les différents cas d'appel de macro que tu m'as exposés car j'ai régulièrement des problèmes dans ce domaine
"michdenis" a écrit dans le message de news:
Bonjour Jecelphi,
Nom de la macro dans le formulaire : CommandButton1_Click Attention : J'ai enlevé le mot "Private" à la déclaration de la procédure dans le formulaire
Pour appeler cette procédure du formulaire dans une autre procédure du même classeur : même si ce dernier n'est pas "ouvert : 2 syntaxes possibles : '------------------------ UserForm1.CommandButton1_Click OU Call UserForm1.CommandButton1_Click '------------------------
Cette syntaxe ne fonctionne pas : Application.run "UserForm1.CommandButton1_Click"
Cependant, si tu dois appeler une procédure d'un formulaire d'un classeur fermé, ajoute au classeur fermé une procédure spéciale dans un module standard dont l'objet sera d'exécuter la macro du formulaire lorsque tu le désireras.
Tu pourras alors appelé la macro du formulaire en appelant la macro spéciale du module standard... la syntaxe t'est donnée dans mon autre message ... Application.Run "'C:Mes documentsAnswer.xls'!test1" Test1 étant le nom de la macro du classeur Answer.xls fermé contenant l'appel du formulaire contenu dans ce classeur.
Salutations!
"jeclephi" a écrit dans le message de news: %
Merci à Michel41(mais je n'ai pas beaucoup de notion sur les moodules de classe) et michdenis pour vos réponses que je vais essayer. Cependant dans aucune des deux il n'est question du code contenu dans un Userform. A quoi le code contenu un userform est il similaire pour l'appel de macro, à celui d'une feuille de calcul ou bien à celui du code d'un module standard?
Merci pour les éventuels éclaircissements
Jeclephi
Si avec toutes ces précisions, dont je te remercie beaucoup, je ne m'en sors
pas j'aurai du ssouci à me faire.
Jcp
NB:je vais placer précieusement les différents cas d'appel de macro que tu
m'as exposés car j'ai régulièrement des problèmes dans ce domaine
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
erZdulHOGHA.516@TK2MSFTNGP15.phx.gbl...
Bonjour Jecelphi,
Nom de la macro dans le formulaire : CommandButton1_Click
Attention : J'ai enlevé le mot "Private" à la déclaration de la procédure
dans le formulaire
Pour appeler cette procédure du formulaire dans une autre procédure du
même classeur :
même si ce dernier n'est pas "ouvert : 2 syntaxes possibles :
'------------------------
UserForm1.CommandButton1_Click
OU
Call UserForm1.CommandButton1_Click
'------------------------
Cette syntaxe ne fonctionne pas :
Application.run "UserForm1.CommandButton1_Click"
Cependant, si tu dois appeler une procédure d'un formulaire d'un classeur
fermé,
ajoute au classeur fermé une procédure spéciale dans un module standard
dont
l'objet sera d'exécuter la macro du formulaire lorsque tu le désireras.
Tu pourras alors appelé la macro du formulaire en appelant la macro
spéciale
du module standard... la syntaxe t'est donnée dans mon autre message ...
Application.Run "'C:Mes documentsAnswer.xls'!test1"
Test1 étant le nom de la macro du classeur Answer.xls fermé contenant
l'appel
du formulaire contenu dans ce classeur.
Salutations!
"jeclephi" <jcp.antispam.sabatini@wanadoo.fr> a écrit dans le message de
news: %23U4modDOGHA.2884@TK2MSFTNGP12.phx.gbl...
Merci à Michel41(mais je n'ai pas beaucoup de notion sur les moodules de
classe) et michdenis pour vos réponses que je vais essayer.
Cependant dans aucune des deux il n'est question du code contenu dans un
Userform.
A quoi le code contenu un userform est il similaire pour l'appel de macro,
à
celui d'une feuille de calcul ou bien à celui du code d'un module
standard?
Si avec toutes ces précisions, dont je te remercie beaucoup, je ne m'en sors pas j'aurai du ssouci à me faire. Jcp NB:je vais placer précieusement les différents cas d'appel de macro que tu m'as exposés car j'ai régulièrement des problèmes dans ce domaine
"michdenis" a écrit dans le message de news:
Bonjour Jecelphi,
Nom de la macro dans le formulaire : CommandButton1_Click Attention : J'ai enlevé le mot "Private" à la déclaration de la procédure dans le formulaire
Pour appeler cette procédure du formulaire dans une autre procédure du même classeur : même si ce dernier n'est pas "ouvert : 2 syntaxes possibles : '------------------------ UserForm1.CommandButton1_Click OU Call UserForm1.CommandButton1_Click '------------------------
Cette syntaxe ne fonctionne pas : Application.run "UserForm1.CommandButton1_Click"
Cependant, si tu dois appeler une procédure d'un formulaire d'un classeur fermé, ajoute au classeur fermé une procédure spéciale dans un module standard dont l'objet sera d'exécuter la macro du formulaire lorsque tu le désireras.
Tu pourras alors appelé la macro du formulaire en appelant la macro spéciale du module standard... la syntaxe t'est donnée dans mon autre message ... Application.Run "'C:Mes documentsAnswer.xls'!test1" Test1 étant le nom de la macro du classeur Answer.xls fermé contenant l'appel du formulaire contenu dans ce classeur.
Salutations!
"jeclephi" a écrit dans le message de news: %
Merci à Michel41(mais je n'ai pas beaucoup de notion sur les moodules de classe) et michdenis pour vos réponses que je vais essayer. Cependant dans aucune des deux il n'est question du code contenu dans un Userform. A quoi le code contenu un userform est il similaire pour l'appel de macro, à celui d'une feuille de calcul ou bien à celui du code d'un module standard?