Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Lancer macro d'un autre classeur

  • Initiateur de la discussion Initiateur de la discussion zxrenaud
  • 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 !

zxrenaud

XLDnaute Nouveau
Bonjour à tous, j'ai une petite question...
Voilà à partir d'un classeur "référence" je lance des macros venant d'autres classeurs grâce au programme suivant trouvé ici même grâce à la fonction recherche:

Sub Main()
'Rob Bovey, mpep

Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook

''' Start Excel and open the workbook.
Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Open(NomClasseur)

''' Run a macro in the workbook.
xlApp.Run xlBook.Name & "!NomMacro"

''' Clean up everything.
xlBook.Close False
Set xlBook = Nothing
xlApp.Quit
Set xlApp = Nothing

End Sub

jusque là aucun souci, les macro s'exécutent. Le problème est que si je veux partager des variables entre mon classeur principal et les autres c'est impossible.
En clair par exemple si de mon programme principal je lance une macro d'un autre classeur qui affecte la valeur d'une cellule dans une variable et bien il m'est impossible de récupérer la valeur de la variable à partir de mon classeur principal.

Quelqu'un aurait-il une astuce pour que les données de visual basic puissent être partagées entre les différents classeurs?

Merci d'avance
 
Re : Lancer macro d'un autre classeur

Bonjour,

Une solution : définir un nom dans le classeur principal en lui affectant la valeur de la variable.

Autre solution : tout simplement entrer la valeur de la variable dans une cellule du classeur principal.

A+
 
Re : Lancer macro d'un autre classeur

Oui j'y ai bien pensé (bien que je ne comprenne pas ta première idée) mais je ne sais pas à l'avance les noms des variables qui vont être affectées (grand nombre de classeurs différents les uns des autres) donc il m'est impossible de procéder comme ça.
Il n'y a vraiment aucun moyen de partager les données entre les deux classeurs?
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 VBA sur outlook
Réponses
14
Affichages
1 K
Réponses
2
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…