Bonjour à tous,
Nouveau sur le forum car c'est la première fois que j'utilise VBA, j'ai pu travailler environ 12h en cours en C++ mais je n'ai jamais réalisé quoi que ce soit sur VBA.
Je suis ingénieur consultant, et mon métier me demande d'aller dans différentes entreprises pour assurer une réponse à un besoin.
Une tâche annexe à mon travail étant sur VBA, j'ai réussi à faire tout ce dont j'avais besoin de faire grâce à internet (eh oui, merci G...... et les forums) mais je bloque à la phase finale.
En gros, j'ai un fichier appelé OT (ordre de travail) que j'ai du modifier dans un nouveau format d'impression. Je dois désormais passer les anciens fichiers OT dans le nouveau format, ce qui correspond à environ 130 fichiers.
J'ai réalisé la macro pour un fichier, ce qui fonctionne très bien. Maintenant je voudrais que lorsque j'appuie sur le bouton TRANSFERT_TOUT que j'ai ajouté au développeur, que la macro recherche tous les fichiers .xlsm dans un repertoire ET dans les dossiers et sous dossiers, et effectue la macro nommée TRANSFERT.
Voici mon code actuel
Lorsque je clique sur TRANSFERT_TOUT, Excel ouvre bien le premier fichier du repertoire que j'ai indiqué, effectue bien la macro, puis ferme le fichier, mais plus rien après.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Sub TRANSFERT_TOUT() Dim repertoire As String Dim unFichier As String Dim wbook As Workbook repertoire = "C:\Users\....\Dossier transfert XLSM\" 'Ceci est un dossier temporaire d'essai dans lequel j'ai inséré 3 fichiers .xlsm pour vérifier si tout marche bien. unFichier = Dir(repertoire & "*.xlsm") Do While unFichier <> "" Workbooks.Open repertoire & unFichier, Updateslinks = False Application.ScreenUpdating = False Call TRANSFERT ' TRANSFERT étant la macro pour modifier un fichier dans le nouveau format Workbooks(unFichier).Close False unFichier = Dir Loop End Sub
J'ai déjà tout fouillé sur le net, j'ai essayé avec les parenthèses après le Dir aussi, j'ai essayé d'autres fonctions, mais rien à faire.
Certaines fois, au niveau du Dir final j'ai une erreur d'execution 5 "Appel de procédure ou argument incorrect" et en fouillant sur le net j'ai l'impression d'avoir tout bien rédigé comme il faut.
Voila donc où je bloque, et si vous pouviez m'aider.
Je vous remercie d'avance !
Partager