Sub test()
Dim c As Range, d As Range
Const Mois As String = "Janvier Février Mars Avril Mai Juin Juillet Août Septembre Octobre Novembre Décembre"
M = Split(Mois)
Set d = Feuil2.Range("A2")
For t = LBound(M) To UBound(M)
Set c = Range("A:A").Find(what:=M(t), LookIn:=xlValues, lookat:=xlWhole)
Set d = d.Offset(1)
If Not c Is Nothing Then
With Feuil2
Do While c = M(t)
'Nouveau mois ?
If IsError(Application.Match(M(t), .Range("A:A"), 0)) Then d = M(t): d.Resize(, 2).Merge: d.HorizontalAlignment = xlCenter: d.Font.Bold = True: Set d = d.Offset(1)
'si Nouveau fruit dans ce mois, on l'ajoute à la suite
If IsError(Application.Match(c.Offset(, 1), Feuil2.Range("A" & Application.Match(M(t), Feuil2.Range("A:A"), 0) & ":A" & d.Row), 0)) Then
d = c.Offset(, 1)
d.Offset(, 1) = 1
Set d = d.Offset(1)
'Sinon on ajoute 1...
Else
.Cells(Application.Match(c.Offset(, 1), .Range("A" & Application.Match(M(t), .Range("A:A"), 0) & ":A" & d.Row), 0) + Application.Match(M(t), .Range("A:A"), 0) - 1, 2) = _
.Cells(Application.Match(c.Offset(, 1), .Range("A" & Application.Match(M(t), .Range("A:A"), 0) & ":A" & d.Row), 0) + Application.Match(M(t), .Range("A:A"), 0) - 1, 2) + 1
End If
Set c = c.Offset(1)
Loop
End With
End If
Next t
set c=Nothing: Set d=Nothing
End Sub