Bonjour à tous,
Je me permets de poster ce message car j'ai un petit problème dans ma macro VBA. Je m'explique. J'ai une vingtaine de fichiers Excel, comprenant tous plusieurs onglet de la même forme, c'est-à-dire avec un tableau de la même structure. Je me dois de les regrouper dans un seul grand tableau commun sur un fichier excel Récapitulatif.
J'ai donc écrit le code ci-dessous après de nombreuses recherches et questions (je débute en VBA, je suis en stage) :
Seulement à l'exécution de ce programme, le débogueur m'affiche : Erreur d'exécution 1004, fichier untel.xls introuvable. Pourtant mon fichier est bien dans le bon dossier. J'ai alors tenté de le supprimer pour appliquer mon programme sur mes autres fichiers, et l'erreur persiste avec le fichier suivant... J'ai cherché la solution sur plusieurs forums, mais rien ne marche, ou alors je ne comprends pas la réponse.
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
19
20
21
22
23
24
25 Sub CreationSynthese() Dim Wk As Workbook Dim Ws Dim collectivite As Range ' Parcours de tous les fichiers ' ----------------------------- ChDir "I:\Volumes de données" 'Chemin d'accès au répértoire LesFichiers = Dir("I:\Volumes de données\*.xls") 'Récupère le premier fichier While Len(LesFichiers) > 0 'Tant que le nom du ficher a plus de 0 caractères Workbooks.Open LesFichiers Set Wk = Workbooks.Open(LesFichiers) For Each Ws In Wk.Worksheets collectivite = "mairie" AvantDerniereLigne = Ws.UsedRange.Rows.Count DerLigRecap = WsRecap.UsedRange.Rows.Count + 1 Ws.Range("A15:W" & AvantDerniereLigne).Copy WsRecap.Range("A" & DerLigRecap) WsRecap.Range("A2:A" & WsRecap.UsedRange.Rows.Count) = collectivite Wk.Close Set Wk = Nothing Next Ws Wend End Sub
Quelqu'un pourrait-il m'en apprendre un peu plus sur cette erreur et pourquoi pas m'aider à la résoudre ?
En vous remerciant par avance,
Crysta
Partager