Recuparation du nom du fichier contenant la macro active

3dflix Messages postés 43 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 20 février 2013 - 18 oct. 2007 à 11:26
3dflix Messages postés 43 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 20 février 2013 - 31 oct. 2007 à 11:44
Bonjour,

Je souhaite récupérer la nom du fichier contenant la macro active sachant que le workbook active n'est pas celui qui contient la macro.

Merci.

3dflix

4 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
18 oct. 2007 à 12:00
Si je comprends bien la question, tu peux utiliser une variable As Workbook en début de macro et lui refiler le classeur

ex:
Sub MaSub()
Dim ClasseurCourant As Workbook
Set ClasseurCourant = ActiveWorkbook

'ton code qui va dans l'autre classeur

ClasseurCourant.Activate

MPi²
0
3dflix Messages postés 43 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 20 février 2013
18 oct. 2007 à 13:31
Je me suis peut etre mal exprimé. Je reformule.

J'ai 2 workbook: workbook1 est actif, il contient des données. workbook2 n'est pas actif et contient la macro.
La macro de workbook2 contient un userform avec un bouton. Ce bouton doit me donner le nom du workbook2 (workbook.name).

Si j'utilise application.activeworkbook.name , ce n'est pas bon car je récupère "workbook1" car il est actif est doit le rester.
Moi je veux récupérer le workbook dans lequel est enregistrer la macro soit "Workbook2". A partir de la macro active, je veux remonter au parent jusqu'à arriver sur le Workbook de tete.

Autrement dit une fonction qui me dit à quel WorkBook appartient la macro en cour.

merci

3dflix
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
19 oct. 2007 à 11:37
Autrement dit une fonction qui me dit à quel WorkBook appartient la macro en cour.



C'est cette partie qui m'intrigue... Comment se fait-il que tu sois dans Workbook1 si la macro est démarrée à partir de l'autre (?)
Si la macro est démarrée à partir du WB2, ma méthode tient le coup, non ?

Autrement, si tu as 10 classeur ouverts, comment savoir lequel a ouvert WB1 ? ou lequel est en relation avec WB1 ?
Est-ce qu'il y a des possibilités de vérification que tu connais, étant l'auteur ?

MPi²
0
3dflix Messages postés 43 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 20 février 2013
31 oct. 2007 à 11:44
Probleme contourné.

En faite je lançait la macro depuis l'éditeur vb donc
   la macro du classeur1 démarait alos que le classeur 2 était actif.

Du coup je fais attention a activer classeur 1 avant de la lancer.

merci quand meme.

3dflix
0
Rejoignez-nous