A
arthurho
Guest
Bonjour,
Je souhaite utiliser l'objet dictionnary pour enlever les doublons dans une liste.
Cette liste est présente dans l'onglet "Feuil2", et j'execute le script sur "Feuil1"
Je souhaite obtenir le resultat sur une range différente de la range que je parcours.
J'ai réalisé le script suivant :
Malheureusement, mes item sont vides.
Avez vous une solution ?
Merci
Cdt,
Arthur HO.
Je souhaite utiliser l'objet dictionnary pour enlever les doublons dans une liste.
Cette liste est présente dans l'onglet "Feuil2", et j'execute le script sur "Feuil1"
Je souhaite obtenir le resultat sur une range différente de la range que je parcours.
J'ai réalisé le script suivant :
Code:
Sub test()
Dim DicoVersion As Object, VersionRange As Range, item As Variant, VersionNb As Long
Set DicoVersion = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
VersionNb = 20
With Sheets("Feuil2").Select
'Récupération du nom de la version pour chaque item'
Selection.Range("AI1:A" & Range("AI65536").End(xlUp).Row + 1).ClearContents
MsgBox "test"
'.Range("AI1:A" & Range("AI65536").End(xlUp).Row + 1).ClearContents
'boucle cellules colonne A
For Each VersionRange In Range("A2:A" & Range("A65536").End(xlUp).Row)
If Not DicoVersion.Exists(VersionRange.Value) Then DicoVersion.Add VersionRange.Value, VersionRange.Value
Next VersionRange
For Each item In DicoVersion.items
Selection.Range("AI" & VersionNb) = item
VersionNb = VersionNb + 1
Next
'tri ascendant'
Range("AI20:AI" & Range("AI65536").End(xlUp).Row).Sort Key1:=Range("AI20"), Header:=xlGuess
End With
Set DicoVersion = Nothing
Application.ScreenUpdating = True
End Sub
Malheureusement, mes item sont vides.
Avez vous une solution ?
Merci
Cdt,
Arthur HO.
Pièces jointes
Dernière modification par un modérateur: