ouvrir un classeur et lancer une macro dans celui-ci à partir d'un autre classeur

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 !

CHRISTOPHEAGPM

XLDnaute Nouveau
Bonsoir à tous, je viens vers vous et vous mets à nouveau à contribution pour m'aider à résoudre un problème qui me pose quelques difficultés.

J'ai un dossier nommé "origine" contenant un certain nombre de fichiers (ce nombre peut varier), dans chacun de ces fichiers une macro nommée import me permet de les mettre à jour.

Mon objectif est de creer un nouveau classeur "routine.xls" contenant une macro qui aura pour objectif d'ouvrir les uns apres les autres chacun des classeurs contenus dans "origine" et de lancer à chaque fois la macro "import" de ceux-ci.

c'est à dire la macro ouvre le premier fichier, lance la macro import de celui-ci, et une fois le traitement terminé enregistre les changements et passe au classeur suivant.


Voici ou j'en suis actuellement grace au différentes participation trouvées sur le forum :

Code:
Sub LancerMacroClasseur2()


Dim MonChemin$
Dim Monclass
MonChemin = "C:\Documents and Settings\moi\Bureau\suivi prod\origine\" 'Définit CheminFic = le dossier où se trouvent les fichiers clients
MesFic = Dir(MonChemin) 'Définit le dossier sur lequel on va boucler
While MesFic <> "" 'Démarrage de la boucle. Tant qu'on récupere un nom de fichier.
Workbooks.Open MonChemin & MesFic
Monclass = MesFic
Application.Run monclass.import

    MesFic = Dir 'On passe au suivant
Wend 'On boucle

    Calculate
    ActiveWorkbook.Save
    ActiveWorkbook.Close
End Sub

La macro bloque sur : Application.Run monclass.import


Merci beaucoup pour votre aide et je suis a votre disposition si mes explications ne sont pas claires...

Christophe
 
Re : ouvrir un classeur et lancer une macro dans celui-ci à partir d'un autre classeu

Bonsoir,
Essaies comme ceci, non testé
Code:
Sub LancerMacroClasseur2()
Dim MonChemin$
MonChemin = "C:\Documents and Settings\moi\Bureau\suivi prod\origine\"
MesFic = Dir(MonChemin & "*.xls")
While MesFic <> ""
    Workbooks.Open MonChemin & MesFic
    Application.Run MesFic & "!Import"
    Workbooks(MesFic).Close True
    MesFic = Dir()
Wend
End Sub
A+
kjin
 
Re : ouvrir un classeur et lancer une macro dans celui-ci à partir d'un autre classeu

Merci beaucoup Kjin,

Je retrouve le meme problème, erreur 1004, le programme ne trouve pas la macro.
Peut etre l'ai je mal placée ou mal nommée ?
Si l'un d'entre vous peux jetter un petit coup d'oeil et m'éclairer ?
Je joins pour ce faire le fichier "de travail" et le fichier origine qui lui contient la macro à lancer (il est identique à tout les autres fichiers à ouvrir et à traiter).

Encore merci à Kjin et à vous tous qui régulièrement vous penchez sur mes problèmes et m'aidez à avancer.

Christophe.
 

Pièces jointes

  • pb.zip
    pb.zip
    19.3 KB · Affichages: 53
  • pb.zip
    pb.zip
    19.3 KB · Affichages: 42
  • pb.zip
    pb.zip
    19.3 KB · Affichages: 54
Re : ouvrir un classeur et lancer une macro dans celui-ci à partir d'un autre classeu

Bonjour,
Houlala...
Pourquoi utiliser le module de thisworkbook ?
Essaies avec les 2 fichiers joints, c'est juste pour tester dans un premier temps, tu remplaceras ensuite le message par le véritable code de ta macro import
"ClasseurContenantImport1.xls" à décompresser dans le répertoire "C:\Documents and Settings\moi\Bureau\suivi prod\origine\", l'autre n'importe où
A+
kjin
 

Pièces jointes

Re : ouvrir un classeur et lancer une macro dans celui-ci à partir d'un autre classeu

Merci Kjin, je prend connaissance de ton message et je pense en comprendre la logique, le premier test fonctionne, je dors dessus et essaie avec la macro d'import dès demain matin.
Encore une fois MERCI pour ton interet et ton aide.

Christophe.
 
- 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

Retour