Lancer une macro appartenant à un autre classeur ouvert

Bonjour à tous,

J'ai besoin de votre aide car il y a quelque chose que je ne comprends pas ..

Je m'explique, je souhaite lancer une macro appartenant à autre classeur ( ici TD 2.xls) à partir de mon classeur de base.

Cela fonctionne très bien si je fais ça :

Application.Run "'TD 2.xls'!Module2.Macro2"

Mais le problème c'est qu'en faite mon nom de classeur n'est pas fixe donc j'ai voulu faire ça :

Dim calcul as Workbook
Set calcul = Workbooks.Open("I:\Document\" & NomFichier & ".xls") 
Application.Run calcul.Name & "!Module2.Macro2"

Et la ça me met un message d'erreur en disant qu'il ne trouve pas la macro dans le classeur TD 2 ou que le classeur a les macro désactivées or ce n'est pas le cas.

Je pense avoir un problème dans la syntaxe mais je ne trouves pas si quelqu'un pourrait m'aider ce serait chouette !

Merci d'avance.

Bonjour

NomFichier est égale à quoi ?

Bonjour,

Il est égale ici en l'occurrence à TD 2, je le récupère dans une cellule de mon classeur comme ceci :

NomFichier = Sheets("Paramétrage").Range("E22")

Votre fichier TD 2 s'ouvre bien ?

je vous avoue que je comprends pas pq cela ne fonctionne pas, j'ai essayé ceci de mon coté en xslm et xls et ca fonctionne.

Dim calcul as Workbook
Set calcul = Workbooks.Open("I:\Document\" & NomFichier & ".xls") 
Application.Run calcul.Name & "!Module2.Macro2"

Vous pouvez le reproduire sur un document que vous pouvez envoyer ?

Bonjour,

Application.Run "'" & calcul.Name & "'!Module2.Macro2"

Moi aussi je ne comprends pas..

J'obtiens ceci en message d'erreur :

1mess

Je vais essayer de faire des fichiers simplifiés, merci de votre temps !

Bonjour thev,

je vais essayer et je vous dis !

Merci.

Merci beaucoup thev, ça marche !!!!

Rechercher des sujets similaires à "lancer macro appartenant classeur ouvert"