Comment exécuter une macro créée sur un autre classeur ?

Le
Philou
Bonjour,
j'ai 2 classeurs (tous les 2 ouverts),
Je cherche à éxécuter à l'aide d'une procédure VBA dans le classeur N°1, une
macro VBA contenue dans un module du classeur N°2.

Exemple :
Dans le ThisWorkbook du Classeur N°1

Private Sub Workbook_Open()
MaProcedure
End Sub

Dans le module Module1 du Classeur N°2

Private Sub MaProcedure()
Beep
End Sub

Si quelqu'un a une idée, merci d'avance.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe.R
Le #1905844
Bonjour Philippe,
L'enregistreur de macros me souffle cette syntaxe :

Application.Run "Ton_classeur.XLS!la_bonne_macro"

--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.

"Philou" uKt$a%
Bonjour,
j'ai 2 classeurs (tous les 2 ouverts),
Je cherche à éxécuter à l'aide d'une procédure VBA dans le classeur N°1, une
macro VBA contenue dans un module du classeur N°2.

Exemple :
Dans le ThisWorkbook du Classeur N°1

Private Sub Workbook_Open()
MaProcedure
End Sub

Dans le module Module1 du Classeur N°2

Private Sub MaProcedure()
Beep
End Sub

Si quelqu'un a une idée, merci d'avance.




Philou
Le #1905842
Merci, ça fonctionne bien avec les macro public, mais comment faire si la
procédure est définie comme Private ?
@+

"Philippe.R"
Bonjour Philippe,
L'enregistreur de macros me souffle cette syntaxe :

Application.Run "Ton_classeur.XLS!la_bonne_macro"

--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.

"Philou" uKt$a%
Bonjour,
j'ai 2 classeurs (tous les 2 ouverts),
Je cherche à éxécuter à l'aide d'une procédure VBA dans le classeur N°1,
une


macro VBA contenue dans un module du classeur N°2.

Exemple :
Dans le ThisWorkbook du Classeur N°1

Private Sub Workbook_Open()
MaProcedure
End Sub

Dans le module Module1 du Classeur N°2

Private Sub MaProcedure()
Beep
End Sub

Si quelqu'un a une idée, merci d'avance.







Philippe.R
Le #1905835
Re,
Il faut alors la passer en public ; la déclaration Private ayant justement pour objectif d'en réserver
l'appel au module où elle est écrite.
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Philou"
Merci, ça fonctionne bien avec les macro public, mais comment faire si la
procédure est définie comme Private ?
@+

"Philippe.R"
Bonjour Philippe,
L'enregistreur de macros me souffle cette syntaxe :

Application.Run "Ton_classeur.XLS!la_bonne_macro"

--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.

"Philou" uKt$a%
Bonjour,
j'ai 2 classeurs (tous les 2 ouverts),
Je cherche à éxécuter à l'aide d'une procédure VBA dans le classeur N°1,
une


macro VBA contenue dans un module du classeur N°2.

Exemple :
Dans le ThisWorkbook du Classeur N°1

Private Sub Workbook_Open()
MaProcedure
End Sub

Dans le module Module1 du Classeur N°2

Private Sub MaProcedure()
Beep
End Sub

Si quelqu'un a une idée, merci d'avance.











Philou
Le #1905812
Ok, merci pour tout !

"Philippe.R" #G$
Re,
Il faut alors la passer en public ; la déclaration Private ayant justement
pour objectif d'en réserver

l'appel au module où elle est écrite.
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Philou"
Merci, ça fonctionne bien avec les macro public, mais comment faire si
la


procédure est définie comme Private ?
@+

"Philippe.R"
Bonjour Philippe,
L'enregistreur de macros me souffle cette syntaxe :

Application.Run "Ton_classeur.XLS!la_bonne_macro"

--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.

"Philou" uKt$a%
Bonjour,
j'ai 2 classeurs (tous les 2 ouverts),
Je cherche à éxécuter à l'aide d'une procédure VBA dans le classeur
N°1,




une
macro VBA contenue dans un module du classeur N°2.

Exemple :
Dans le ThisWorkbook du Classeur N°1

Private Sub Workbook_Open()
MaProcedure
End Sub

Dans le module Module1 du Classeur N°2

Private Sub MaProcedure()
Beep
End Sub

Si quelqu'un a une idée, merci d'avance.














Alain CROS
Le #1905796
Bonjour.

La fonctionnement est correct avec une Private Sub

Alain CROS

"Philippe.R"
Re,
Il faut alors la passer en public ; la déclaration Private ayant justement pour objectif d'en réserver
l'appel au module où elle est écrite.
--
Amicales Salutations
XL 97 / 2000 / 2002


Publicité
Poster une réponse
Anonyme