Sub Tri() 'par années
Dim tablo, i&, t$
Feuil1.Activate 'sécurité
tablo = Range("A1:A2", Cells(Rows.Count, 1).End(xlUp))
For i = 1 To UBound(tablo)
t = tablo(i, 1)
If IsNumeric(t) And Len(t) > 4 Then _
tablo(i, 1) = Right(t, 4) & Format(Left(t, Len(t) - 4), "0000")
Next
Application.ScreenUpdating = False
[A1].Resize(UBound(tablo)) = tablo
[A:A].Sort [A1], Header:=xlYes 'tri
tablo = Range("A1:A" & UBound(tablo))
For i = 1 To UBound(tablo)
t = tablo(i, 1)
If IsNumeric(t) And Len(t) > 4 Then _
tablo(i, 1) = Val(Mid(t, 5) & Left(t, 4))
Next
[A1].Resize(UBound(tablo)) = tablo
End Sub