Bonjour,
Voici un premier essai avec un code à exécuter. Il faut que les fichiers soient dans le même dossier (dont il faudra adapter le nom dans le code) et fermés au moment de l'exécution.
Les données sont cherchées dans la feuille 1 à chaque fois et collées dans la feuille 1 de destination. On ajoute les données à la suite des précédentes.
On ne prend que les colonnes 1, 2, 6.
On enregistre le nouveau fichier dans le répertoire du fichier exécutant.
Sub Compiler()
tcol = array(1, 2, 6)
set wb = workbooks.add
dossier = "C:\...\" '<<<<<<
fichier = dir(dossier & "*.xlsx")
while fichier <> ""
n = 0
with workbooks.open(dossier & fichier)
with .sheets(1).usedrange.resize(, 6)
t = .offset(6, 0).value
for i = lbound(t) to ubound(t)
if t(i, 6) > 0 then
n = n + 1
for k = lbound(tcol) to ubound(tcol)
t(n, k + 1) = t(i, tcol(k))
next k
end if
next i
end with
.close true
end with
with wb.sheets(1)
nvl = .cells(.rows.count, 1).end(xlup).row + 1
if n > 0 then .cells(nvl, 1).resize(n, 3) = t
end with
fichier = dir
wend
wb.saveas thisworkbook.path & "\recap " & format(date, "YYMMDD") & ".xlsx", 51
wb.close true
end sub
Cdlt,