Consolidation par Onglet

Bonjour,

Je suis nouveau dans le site et j'ai besoin de votre aide.

dans l'exemple ci-joint j'aimerai consolider dans le fichier consolidation les données de chaque extraction par onglet ( cad les un après les autres). serait-il possible de le faire par Marco, à savoir que le nombre de ligne varie d'une extraction à une autre.

D'avance merci pour votre retour et votre aide.

22exemple.zip (36.73 Ko)

Bonsoir

une proposition de macro (à mettre dans le classeur consolidation) qui fait la fusion de tous les fichiers extract*.xls* se trouvant dans le répertoire par défaut d'Excel. Attention pour que la macro fonctionne, il faut que les noms des feuilles soient rigoureusement identiques dans chaque classeur (ce qui n'est pas le cas avec l'exemple que tu as donné. Certaines feuilles commencent par un blanc) !

Sub fusion()
Dim ws2 As Object
Dim ws1 As Object
Set wb1 = ThisWorkbook
fichier = Dir("extract*.xls*")
While fichier <> ""
Set wb2 = Workbooks.Open(fichier)
For Each ws1 In wb1.Worksheets
dl = ws1.Range("b" & ws1.Rows.Count).End(xlUp).Row
If dl = 1 Then pl1 = 1: dl = 0 Else pl1 = 4
nf = ws1.Name
on error resume next
Set ws2 = wb2.Worksheets(nf)
on error goto 0
If ws2 Is Nothing Then
 MsgBox "feuille " & ws1.Name & " non trouvée dans le classseur" & wb2.Name
Else
 dl1 = ws2.Range("b" & ws2.Rows.Count).End(xlUp).Row
 ws2.Rows(pl1 & ":" & dl1).Copy ws1.Range("A" & dl + 1)
End If
Next
wb2.close
fichier = Dir()
Wend
Set ws1 = Nothing
Set ws2 = Nothing
Set wb1 = Nothing
Set wb2 = Nothing
End Sub

merci beaucoup pour votre retour. je vais tester et je reviens vers vous.

Rechercher des sujets similaires à "consolidation onglet"