Bonjour
J'ai appliqué la macro sur mon projet.
J'ai même rajouté 4 lignes pour trier dans la feuille "Récapitulatif" les codes et quantités.
Ca marche bien, par contre si il n'y a rien dans les feuilles A B et C,
Code Qté Qté Qté s'affichent dans les cellules D7:C7 ??
je t'envoie la macro transformé.
Merci d'avance!!
Sub Transfert()
Dim Tbl As Range
Dim MyRange As Range
Dim MyPlage As Range
Dim C As Range, Cbis As Range
Dim j As Byte
Application.ScreenUpdating = False
'Effacement des anciennes données du tableau
Worksheets("Récapitulatif").Range("B12", "C100").ClearContents
'Mise en boucle de toutes les feuilles sauf les feuilles "Cumul" et "base"
For j = 3 To Sheets.Count
'Déclaration des plages à consulter
Set MyRange = Range(Sheets(j).Range("B12"), Sheets(j).Range("B66").End(xlUp))
Set MyPlage = Sheets("Récapitulatif").Range("Plage")
For Each C In MyRange
If Application.CountIf(MyPlage, C) = 0 Then ' Boucle de mise en tableau des articles absents et de leurs quantités
If Sheets("Récapitulatif").Range("B12") = "" Then ' inscription de l'article
Sheets("Récapitulatif").Range("B12") = C
Sheets("Récapitulatif").Range("B12").Offset(0, 1) = C.Offset(0, 1) 'Inscription de la quantité
Else
Sheets("Récapitulatif").Range("B100").End(xlUp).Offset(1, 0) = C ' inscription de l'article
Sheets("Récapitulatif").Range("B100").End(xlUp).Offset(0, 1) = Sheets("Récapitulatif").Range("B100").End(xlUp).Offset(0, 1) + C.Offset(0, 1) 'Inscription de la quantité
End If
Else
For Each Cbis In MyPlage 'Boucle de mise en tableau des quantités des articles déjà présents
If Cbis = C Then
Cbis.Offset(0, 1) = Cbis.Offset(0, 1) + C.Offset(0, 1) 'Inscription de la quantité
Exit For
End If
Next Cbis
End If
Next C
Next j
Range("B12:c100").Select
Selection.Sort Key1:=Range("B12"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Application.ScreenUpdating = True
Range("A1").Select
End Sub