Re
Macro commentée
Sub test()
'definition du debut
debut = Range("C2")
'creation d'un tableau de resultat
ReDim tabres(1 To 4, 0)
'premieres données inscrites dans le tableau
tabres(1, 0) = Range("B2")
tabres(2, 0) = Format(Range("A2"), "mmmm")
tabres(3, 0) = Range("E2")
'on augmente le tableau d'une ligne
ReDim Preserve tabres(1 To 4, UBound(tabres, 2) + 1)
'pour chaque ligne jusqu'a la derniere ligne non vide de la colonne C
For n = 2 To Range("C" & Rows.Count).End(xlUp).Row
'si la donnéée colonne C est differente du debut
If Range("C" & n) <> debut Then
'remplir le tableau
'l'annee
tabres(1, UBound(tabres, 2)) = Range("B" & n)
'le mois
tabres(2, UBound(tabres, 2)) = Format(Range("A" & n), "mmmm")
'le chiffre du debut
tabres(3, UBound(tabres, 2)) = Range("E" & n)
'le chiffre de fin (ligne precedente dans ligne precedente du tableau)
tabres(4, UBound(tabres, 2) - 1) = Range("E" & n - 1)
'on augmente le tableau d'une ligne
ReDim Preserve tabres(1 To 4, UBound(tabres, 2) + 1)
'le debut devient le nouveau mois
debut = Range("C" & n)
End If
Next
'mise du dernier chiffre de fin dans le tableau
tabres(4, UBound(tabres, 2) - 1) = Range("E" & n - 1)
'ecriture du tableau
Range("H3").Resize(UBound(tabres, 2) + 1, UBound(tabres, 1)) = Application.Transpose(tabres)
End Sub