Bonjour à tous,

Je travaille à faire un loop de tous les fichiers excel dans un dossier.

Problème, mon code tourne en boucle sur le même fichier (et copie donc les mêmes données à la suite).

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
26
27
28
29
30
31
32
33
34
35
36
37
38
Sub test123()
 
Dim a As String, b As String
Dim c As Integer, d As Integer, i As Integer, j As Integer
Dim fichier As String
Dim ws1 As Worksheet, ws2 As Worksheet
Dim wb As Workbook
 
Set ws2 = ThisWorkbook.Worksheets("Data") 'feuille du fichier appelant
 
 
a = "F:\ACTIVITE SERVICE\TRAITEMENT QUOTIDIEN\"
b = "*.xls*"
 
fichier = Dir(a & b)
 
Do While fichier <> ""
 
Set wb = Workbooks.Open(a & b)
Set ws1 = wb.Worksheets("Feuil1")
 
c = ws1.Range("A1").End(xlDown).Row 'nombre de lignes de données dans le fichier appelé
d = ws2.Range("A10000").End(xlUp).Row 'nombre de lignes de données dans le fichier appelant
 
For i = 2 To c ' les lignes des données à copier
ws2.Cells(d + i - 1, 1) = ws1.Cells(i, 1) 
ws2.Cells(d + i - 1, 2) = ws1.Cells(i, 2)
ws2.Cells(d + i - 1, 3) = ws1.Cells(i, 3)
Next i
 
wb.Close
fichier = Dir
 
Loop 'ça loop sur le même fichier
 
Set ws2 = Nothing
 
End Sub
Je trouve ça d'autant plus bizarre que mon code me paraît ressembler à tout ce que j'ai pu voir partout ailleurs.

Si quelqu'un pouvait m'aiguiller, je lui en serait reconnaissant.

Merci à vous.