Re : Fusionner plusieurs fichier excel en un unique
Bonjour,
En utilisant la macro de Staple1600, légèrement mixée avec les autres solutions du fil, chez moi cela donne ça, dans un module:
Sub Combiner()
Dim Chemin$, Classeur$
Chemin = "E:\PG\Copie des feuilles\" 'bien sur à adapter
Classeur = Dir(Chemin & "\*.xls")
Do While Classeur <> Empty
With Workbooks.Open(Chemin & "\" & Classeur)
With .Sheets(1)
.Name = Replace(Classeur, ".xls", "")
.Copy After:=ThisWorkbook.Sheets(1)
End With
.Close False
End With
Classeur = Dir
Loop
Feuil1.Select
End Sub
Sub SupFeuilles()
Application.DisplayAlerts = False
If Sheets.Count > 1 Then
Sheets("Accueil").Move before:=Sheets(1)
Sheets(2).Select
For i = 2 To Sheets.Count
ActiveSheet.Delete
Next i
End If
End Sub
Sub Fermer()
SupFeuilles
Application.Quit
End Sub
et dans ThisworkBook:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Fermer
End Sub
Private Sub Workbook_Open()
Combiner
End Sub
Je crée les feuilles à l'ouverture, mais je ne les garde pas à la fermeture. Cela permet de les réactualiser.
Avec cette macro, il ne faut pas que le fichier maître se trouve dans le même dossier que les feuilles (fichiers), à combiner (consolider).
A+