Appel d'une macro Excel à partir d'un autre Classeur

J'ai un Classeur HasMacros.xlsm et un Classeur HasData.xlsm

Dans HasMacros.xlsm-je ajouter un Module nommé Mod1 avec exactement ce que ce code:

Sub testmacro()

   MsgBox ("Test")

End Sub

Dans HasData.xlsm-je ajouter un Module nommé Mod2 avec exactement ce que ce code:

Sub testmacro2()

   'XXX

End Sub

Donc bon. Rien d'autre d'ouvert dans Excel.

Maintenant, je veux l'appeler testmacro de testmacro2 où XXX est écrit.

Cela échoue immédiatement erreur de compilation:

Sub testmacro2()

   testmacro()

End Sub

Cette échoue avec l'erreur de compilation "les Sous de la fonction non définie" sur exec:

Sub testmacro2()

   Call testmacro

End Sub

Cela échoue immédiatement erreur de compilation:

Sub testmacro2()

   Mod1.testmacro()

End Sub

Cela échoue sur exec:

Sous testmacro2()

Appel Mod1.testmacro

End Sub

Ensuite, j'ai essayé Comment appeler une fonction à partir d'un autre classeur spécifique en VBA? mais je reçois

Les conflits de noms avec module existant, un projet ou un objet de la bibliothèque

Je suis à court d'idées sur comment faire pour appeler une macro dans HasMacros.xlsm à partir du code VBA dans HasData.xlsm

InformationsquelleAutor Envite | 2015-02-26