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 34
| Dim lastLine As Single
Dim Adic As Object
Dim I As Single
Dim J As Single
Set Adic = CreateObject("Scripting.dictionary")
'On spécifie l'objet sur lequel on travail : ta feuille
With Worksheets("maFeuille")
'On cherche la dernière valeur de la colonne A
lastLine = .Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
'On remplit le dictionnaire
For Each c In Range("A1", .Range("A5").End(xlDown)) 'si la liste est dans la colonne A et commence en A1
'on teste si la valeur de la cellule n'est pas déjà dans le dictionnaire
'si c'est le cas on utilise cette valeur comme nouvelle cké et comme nouvel item
If Not Adic.Exists(c.Value) Then Adic.Add c.Value, c.Value
Next c
lastLine = .Columns(2).Find("*", , , , xlByColumns, xlPrevious).Row
J = 1
'On parcours la colonne B
For I = 1 To lastLine
If Adic.Exists(.Cells(I, 2).Value) = True Then
.Cells(J, 3).Value = .Cells(I, 2).Value
J = J + 1
End If
Next I
End With |
Partager