Bonjour,
Voici une proposition:
Sub test()
Dim tabSource As Variant, tabNbLignes As Variant, tabMois As Variant
'initialisations
tabSource = Feuil1.Range("A1").CurrentRegion.Value
ReDim tabNbLignes(1 To 12)
'compte le nombre de lignes par mois
For j = 1 To 12
For i = LBound(tabSource, 1) + 1 To UBound(tabSource, 1)
If Month(tabSource(i, 2)) = j Then
tabNbLignes(j) = tabNbLignes(j) + 1
End If
Next i
Next j
For j = 1 To 12
If Not tabNbLignes(j) = 0 Then
lig = 0
ReDim tabMois(1 To tabNbLignes(j), 1 To 3)
For i = LBound(tabSource, 1) + 1 To UBound(tabSource, 1)
If Month(tabSource(i, 2)) = j Then
lig = lig + 1
tabMois(lig, 1) = tabSource(i, 2)
tabMois(lig, 2) = tabSource(i, 3)
tabMois(lig, 3) = tabSource(i, 4)
End If
Next i
With Feuil2
.Cells(3, 1 + 4 * (j - 1)).Resize(UBound(tabMois, 1), UBound(tabMois, 2)).Value = tabMois
End With
End If
Next j
End Sub