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

Macro pour ouvrir classeur et lancer leur macro

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

B

Bufle

Guest
Bonjour,

J'aimerais à partir d'un classeur excel :
- ouvrir un autre classeur 'JUIN' puis lancer sa macro 'IMPRIM'
- ouvrir un autre classeur 'JUILLET' puis lancer sa macro 'IMPRIM'
- ouvrir un autre classeur 'SEPTEMBRE' puis lancer sa macro 'IMPRIM'
- ouvrir un autre classeur 'NOVEMBRE' puis lancer sa macro 'IMPRIM'
- puis enfin fermer tous les classeurs

Comment dois je faire ??

Merci
 
Salut Bufle,
En effectuant une recherche sur le forum je suis certain que tu aurais pu avoir des solutions deplus ta précoocuaption n'est pas très claire. La Macro qui déclence les autres où doit-elle se trouver ? les fichiers ) ouvris sont-ils dans une même répertoire ?

Essaye ce code à adapter si nécessaire :

Public Sub LancerMacro()
'Chemin est le chemin de chaque fichier, si tous les fichiers sont dans
'le même répertoire alors, il faut juste une Variable Chemin sinon il en
'faut autant que le nombre de répertoire distinct.
'Place ce code dans le module1 du classeur

Dim Chemin$
Dim MonTab(3) As String
Dim i%

MonTab(0) = 'JUIN.XLS': MonTab(1) = 'JUILLET.XLS'
MonTab(2) = 'SEPTEMBRE.XLS': MonTab(3) = 'NOVEMBRE.XLS'
For i = 0 To UBound(MonTab)
Workbooks.Open Chemin & MonTab(i)
Workbooks(Chemin & MonTab(i)).Activate
Module1.LancerMacro
Next i
End Sub
 
Merci Brunet,

Les autres classeurs se trouvent effectivement dans le même répertoire. D'ailleurs votre macro ouvre bien le classeur JUIN... Néanmoins, la macro a lancé se trouve dans une feuille nommée IMPRIM et non dans le module...
Comment faire j'imagine dès lors qu'il faut changer 'Module1.LancerMacro'...

Merci pour votre aide

PS : je peux vous envoyer le repertoire si besoin est...
 
Re ,

Remplace la ligne de code Module1.LancerMacro par celle-ci:
Worksheets('IMPRIM').TesteAppel

!!! TesteAppel est la macro à Exécuter ! qui se trouve biensûr dans la feuille IMPRIM
 
Cher blunet,

Votre macro est (je pense) sur le point de marcher mais je crois que Worksheets('IMPRIM').TesteAppel pose problème
Voici le nom de ma macro qui s'applique à chaque feuille IMPRIM de mes 4 classeurs : PrintLoopingSpecial()

Merci pour tout
 
Cher Blunet,

J'essaie toujours de réussir à corriger la macro mais rien n'y fait... Pourriez vous s'il vous plaît me venir au secours une toute dernière fois?

Merci
 
- 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
3
Affichages
258
Réponses
1
Affichages
286
W
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…