Consiste à poser un filtre élaboré sans doublon sur la plage de cellules, puis à récupérer les seules cellules visibles

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Dim Plage As Range, Cell As Range
    Set Plage = Range("A1:A" & Split(ActiveSheet.UsedRange.Address, "$")(4))
    Plage.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        Plage, Unique:=True
    Set Plage = Plage.SpecialCells(xlCellTypeVisible)
    For Each Cell In Plage
        MsgBox Cell
    Next
A adapter.