Bonjour,
Les données ont été mises sous forme de tableau (structuré).
Et que ce soit dans une plage de cellules ou un tableau, on évite les lignes vides !...
Un exemple dans le fichier joint.
Cdlt.
Public Sub RemoveDuplicatesAndSortTable()
Dim lo As ListObject, lr As Long
Application.ScreenUpdating = False
Set lo = Range("Input").ListObject
With lo
If Not .DataBodyRange Is Nothing = True Then
For lr = .ListRows.Count To 1 Step -1
If WorksheetFunction.CountA(.ListRows(lr).Range) = 0 Then .ListRows(lr).Delete
Next lr
.Range.RemoveDuplicates Columns:=Array(1, 2, 3, 4), Header:=xlYes
'With .Sort
'.SortFields.Add Key:=lo.ListColumns(1).DataBodyRange
'.Header = xlYes
'.Apply
'.SortFields.Clear
'End With
End If
End With
End Sub
Nota : Le tri est inhibé.