1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| Option Explicit
Sub Liste_SansDoublons()
Dim DerLig As Long
Dim Plage As Range
Dim Cell As Range
Dim Un As Collection
Dim i As Long
With Worksheets("Feuil1") 'A adapter
DerLig = .Range("A" & .Rows.Count).End(xlUp).Row
Set Plage = .Range("A2:A" & DerLig)
Set Un = New Collection
On Error Resume Next
'Boucle sur la plage
For Each Cell In Plage
If Cell <> "" Then
'Si la cellule n'est pas vide, on mémorise l'adresse de la cellule
Un.Add Cell.Address, Left(CStr(Cell), 4)
End If
Next Cell
On Error GoTo 0
'Efface le précédent filtrage
.Range("E2:E" & .Range("E" & .Rows.Count).End(xlUp).Row).ClearContents
'Boucle sur les éléments de la collection.
For i = 1 To Un.Count
'Ecrit la référence dans la colonne E
.Range("E" & i + 1) = Left(Range(Un.Item(i)), 4)
'Ecrit le nom dans la colonne F
.Range("E" & i + 1).Offset(0, 1) = Range(Un.Item(i)).Offset(0, 1)
Next i
End With
Set Un = Nothing
Set Plage = Nothing
End Sub |