Sub Va()
Dim C As Range, Li As Integer
[COLOR=Green] 'on parcourt chaque cellule des colonnes E et H, ici, en s'arrêtant à la dernière ligne non vide [/COLOR]
For Each C In Application.Union(Range("E6:E" & [E5000].End(xlUp).Row), Range("H6:H" & [H5000].End(xlUp).Row))
[COLOR=Green] 'on parcourt chaque cellule de CATEGORIE : A6:A14 [/COLOR]
For Li = 6 To 14
If C.Value = Range("A" & Li) Then
[COLOR=Green] 'si on trouve la catégorie on ajoute le nombre de la colonne C+1[/COLOR]
Range("C" & Li) = Range("C" & Li) + C.Offset(0, 1)
[COLOR=Green]'on ajoute le nombre de la colonne C+2[/COLOR]
Range("D" & Li) = Range("D" & Li) + C.Offset(0, 2)
End If
Next Li
Next C
[COLOR=Green] 'On totalise dans les cases correspondantes[/COLOR]
[C21] = Application.WorksheetFunction.Sum(Range("F6:F" & [F5000].End(xlUp).Row))
[D21] = Application.WorksheetFunction.Sum(Range("G6:G" & [G5000].End(xlUp).Row))
[C22] = Application.WorksheetFunction.Sum(Range("I6:I" & [I5000].End(xlUp).Row))
[D22] = Application.WorksheetFunction.Sum(Range("J6:J" & [J5000].End(xlUp).Row))
[C23] = [C21] + [C22]
[D23] = [D21] + [D22]
End Sub