Bonjour
Il faut formater la colonne L en texte
Option Explicit
Sub DerniereMAJ()
Dim t, ref, n&, i&, j&, deb#
deb = Timer: Application.ScreenUpdating = False
[k1].CurrentRegion.Clear
t = Intersect([a1].CurrentRegion, Columns("h:i")).Value
For i = 2 To UBound(t): t(i, 1) = IIf(Right(t(i, 1), 4) = "1899", CDate("01/01/1900"), CDate(t(i, 1))): Next i
Range("h1").Resize(UBound(t), UBound(t, 2)) = t
[k1].CurrentRegion.Clear
Columns("a:i").Copy Columns("k:k")
[k1].CurrentRegion.Sort key1:=[L1], order1:=xlAscending, key2:=[r1], order2:=xlDescending, Header:=xlYes, MatchCase:=False
t = [k1].CurrentRegion
n = 2: ref = t(2, 2)
For i = 3 To UBound(t)
If t(i, 2) <> ref Then: n = n + 1: For j = 1 To UBound(t, 2): t(n, j) = t(i, j): Next: ref = t(i, 2)
Next i
[k1].CurrentRegion.Clear
Range("L:L").NumberFormat = "@"
[k1].Resize(n, UBound(t, 2)) = t
Me.ListObjects.Add SourceType:=xlSrcRange, Source:=[k1].CurrentRegion, XlListObjectHasHeaders:=xlYes, TableStyleName:="TableStyleMedium26"
Me.[k1].ListObject.Name = "MajTarif": Me.[k1].ListObject.Range.Borders.LineStyle = xlContinuous
MsgBox Format(n, "#,##0") & " enregistrements restants en " & Format(Timer - deb, "#,##0.00\ sec.")
End Sub