'Cree une plage dynamique car le nbre de lignes varie suivant le fichier traité : permet de copie ensuite
'uniquement les lignes avec des données
Sub liste()
ActiveWorkbook.Names.Add Name:="Liste", RefersToR1C1:= _
"=OFFSET(sheet1!R2C1,,,COUNTA(sheet1!C1)-1,18)"
End Sub
'La procedue recup va ouvrir chaque fichier se trouvant ds le chemin defini à l'aide de :
'Chemin = "C:\Documents and Settings\Fred\Bureau\Test Fusion\ et copie les données de chacun
'dans le fichier fusion
Sub recup()
Range("A2").Select 'sélectionner la cellule de début
Chemin = "C:\Documents and Settings\Fred\Bureau\Test Fusion\" 'saisir le chemin complet du dossier où se trouvent les fichiers
Fichier = Dir(Chemin & "*.xls") ' Premier fichier
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier
'appel de la procedure liste
Call liste
Range("Liste").Copy
ThisWorkbook.Activate
ActiveSheet.Paste
Windows(Fichier).Activate
Application.CutCopyMode = False
ActiveWorkbook.Close savechanges:=False
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
Fichier = Dir ' Fichier suivant
Loop
End Sub