macro et nom fichier

  • Initiateur de la discussion Initiateur de la discussion Dan31
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

Dan31

Guest
Bonjour, dans une macro lorsque l'on demande exécution d'une autre macro Application.Run "Nom du fichier.xls! Macro1" si l'on change le nom du fichier : blocage donc pouvons nous faire en sorte que cela marche quelquesoit le nom du fichier ? thisworkbook par exemple merci
 
Re : macro et nom fichier

Bonjour à tous,

Je parcourais le forum et j'ai vu votre question.
Je ne sais pas si j'ai bien compris votre doléance moi aussi, mais vous devriez essayer d'utiliser la ligne de code suivante :
Code:
Application.Run (ThisWorkbook.Name & "!Macro1")

Cela permet d'activer la Macro1 du classeur actif.
Prenez tout de même garde si vous exécutez ce code avec plusieurs classeurs ouverts de ne pas vous tromper!

Cordialement.
 
Re : macro et nom fichier

Bonjour tout le monde,

Quand Macro1 se trouve dans le fichier de ThisWorkbook,

Code:
Application.Run ThisWorkbook.Name & "!Macro1"

peut être simplement remplacé, comme l'indique Jean-Marcel, par :

Code:
Macro1

Si Macro1 est dans un autre classeur, eh bien il faut s'arranger pour obtenir le nom de ce classeur, par exemple s'il s'agit du classeur actif :

Code:
Dim nomfichier As String
'-----------
nomfichier = [COLOR="Red"]ActiveWorkbook[/COLOR].Name
'------------
Application.Run nomfichier & "!Macro1"

A+
 
Dernière édition:
Re : macro et nom fichier

Une nouvelle fois, bonjour.

Ce n'est peut-être pas la peine d'attribuer le nom du classeur à une variable supplémentaire avant de la réutiliser dans le sens où le nom est déjà stocké en propriété du classeur actif :
Code:
Application.Run (ActiveWorkbook.Name & "!Macro1")

Appeler l'application pour l'ActiveWorkbook fonctionne aussi en demandant son nom avec ".Name".


Edit: J'avais mal lu l'intervention pertinente de Job75, récupérer le nom du classeur dans une variable est intéressant pour le cas où il faille gérer plusieurs classeurs. Une boucle pourrait permettre de choisir le classeur que l'on désire utiliser.
 
Dernière modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
479
Réponses
4
Affichages
331
Retour