Sub TriMinMax()
Application.ScreenUpdating = False
T = [A1].CurrentRegion: IndexMax = UBound(T)
For i = 2 To IndexMax ' Convertit date bidon type 09052023 en 09/05/2023
T(i, 2) = Format(CDate(Mid(T(i, 2), 1, 2) & "/" & Mid(T(i, 2), 3, 2) & "/" & Mid(T(i, 2), 5, 4)), "dd/mm/yyyy")
Next i
[K1].Resize(IndexMax, UBound(T, 2)) = T ' Met le tableau en K1
[K:L].Resize(IndexMax).Sort key1:=[K1], order1:=xlAscending, Header:=xlYes ' Tri sur Matricule
For L = 2 To IndexMax
Ind1 = L ' Cherche plage avec même matricule
While Cells(L, "K") = Cells(Ind1, "K")
L = L + 1
Wend
Ind2 = L - 1 ' Sortie plage même matricule, début Ind1, fin Ind2
datemin = 75000: datemax = 18000 ' Init min et max avec valeurs absurdes min=04/05/2105 et max = 12/04/1949
For L2 = Ind1 To Ind2 ' Détermination min max pour un même matricule
If Cells(L2, "L") < datemin Then datemin = Cells(L2, "L")
If Cells(L2, "L") > datemax Then datemax = Cells(L2, "L")
Next L2
If Ind1 <> Ind2 Then ' Si plusieurs fois même matricule alors inscription min max
Cells(Ind1 - 1, "M") = datemin: Cells(Ind1 - 1, "N") = datemax
End If
Next L
ActiveSheet.[K:N].RemoveDuplicates Columns:=1, Header:=xlYes ' Suppression matricule doublon
End Sub