Bonjour,
Je recherche une formule pour regrouper les données de plusieurs feuilles sur une feuille récapitulative pour un inventaire. Mes données doivent être regroupées selon 2 références.
Sur mon fichier, j’ai l’inventaire pour chaque salarié (Amélie, Bruno et Rémi). Sur mon récap (dernière feuille) je veux tout regrouper pour connaître la quantité pour chaque référence mais dissocier si le code CE est différent.
Merci d’avance de votre aide
Sub test()
Const Entete = 1
Dim sh As Worksheet, Plage As Range, Dl%, Ligne%
Application.ScreenUpdating = False
For Each sh In Worksheets 'Boucle sur les feuilles du classeur
If sh.Name <> "Récap" Then 'Si le nom de la feuille est différente de Récap
With sh.UsedRange 'Je copie les données
Set Plage = .Offset(Entete).Resize(.Rows.Count - Entete) 'La plage complète sans l'entête
Dl = Sheets("Récap").Cells(Rows.Count, 1).End(xlUp)(2).Row 'Détermine la dernière ligne
Plage.Copy Destination:=Sheets("Récap").Range("A" & Dl) 'copie la plage
End With
End If
Next
[A2].CurrentRegion.Sort , key1:=[A2], Header:=xlYes 'Tri de la colonne A
Ligne = 2
Do While Cells(Ligne, 1) <> "" 'Boucle tant que la colonne A n'est pas vide
If Cells(Ligne, 4) = Cells(Ligne + 1, 4) Then 'Si la ligne du dessous est identique
Cells(Ligne, "F") = Cells(Ligne, "F") + Cells(Ligne + 1, "F") 'Le fait la somme des quantité colonne F
Rows(Ligne + 1).Delete 'et je supprime la ligne
Else
Ligne = Ligne + 1 'Je passe à la ligne suivante
End If
Loop
Dl = Sheets("Récap").Cells(Rows.Count, 1).End(xlUp)(2).Row
Range("A2:G" & Dl).Interior.ColorIndex = 0
Set Plage = Nothing 'Vidage de la Plage
Application.ScreenUpdating = False
End Sub