Sub Inserer()
Dim resu(), tablo, i&, dat, n&
Application.ScreenUpdating = False
With Feuil1 'CodeName
If .FilterMode Then .ShowAllData 'si la feuille est filtrée
ReDim resu(1 To .Rows.Count, 1 To 1)
With .Range("G3:G" & .Cells.SpecialCells(xlCellTypeLastCell).Row) 'plage à adapter
.Sort .Columns(1), xlAscending, Header:=xlNo 'tri
tablo = .Resize(, 2) 'matrice, plus rapide, au moins 2 éléments
For i = 1 To UBound(tablo)
dat = tablo(i, 1)
If IsDate(dat) Then
n = n + 1
If i > 1 Then If IsDate(tablo(i - 1, 1)) Then If Year(dat) <> Year(tablo(i - 1, 1)) Then n = n + 2
resu(n, 1) = tablo(i, 1)
End If
Next
If n Then .Resize(n) = resu 'restitution
End With
End With
End Sub