Sub HOP()
Dim n&, fin As Range, deb
deb = Timer
Application.ScreenUpdating = False
Application.ScreenUpdating = False: Application.DisplayAlerts = False
If Range("a1") = "àSuppr" Then Rows(1).Delete: Columns(1).Delete
n = Cells(Rows.Count, "a").End(xlUp).Row
Columns(1).Insert: Rows(1).Insert: Range("a1") = "àSuppr"
With Range("a2").Resize(n)
.FormulaR1C1 = "=IF(LEN(RC[1]),1,0)"
.Value = .Value
.Resize(, 4).Sort Columns(1), xlAscending, Header:=xlNo
On Error Resume Next
Set fin = Columns(1).Find(1)
If fin.Row > 2 Then Range(Range("a2"), fin.Offset(-1)).EntireRow.Delete
Rows(1).Delete: Columns(1).Delete
Application.DisplayAlerts = True
End With
If Range("a1") = "àSuppr" Then Rows(1).Delete: Columns(1).Delete
Application.DisplayAlerts = True
MsgBox Format(Timer - deb, "0.00\ sec.")
End Sub