Alimenter une ListBox avec données numériques sans doublons
2 réponses
domivax
Bonjour =E0 tous,
Cette macro marche =E0 merveille quand il est question d'alimenter une
ListBox sans les doublons pour autant que les donn=E9es soient
alphanum=E9riques... (des pays dans mon projet)
par contre si la colonne comporte des nombres =E0 ce moment-l=E0 les
doublons restent dans ma ListBox (des codes postaux dans mon projet).
Pourquoi ?
If Application.Subtotal(3, Range("A2:A10000")) > 0 Then
ReDim temp(1000)
For Each cell In r
If IsError(Application.Match(cell, temp, 0)) Then
On Error Resume Next
temp(i) =3D cell
i =3D i + 1
End If
Next cell
ReDim Preserve temp(i - 1)
Userform1.ListBox1.List =3D temp
Else
Exit Sub
End If
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JB
Bonjour,
Set MonDico = CreateObject("Scripting.Dictionary") For Each c In Range([A2], [A65000].End(xlUp)) If Not MonDico.Exists(c.Value) Then MonDico.Add c.Value, c.Value Next c Me.ListBox1.List = MonDico.items
Cette macro marche à merveille quand il est question d'alimenter une ListBox sans les doublons pour autant que les données soient alphanumériques... (des pays dans mon projet)
par contre si la colonne comporte des nombres à ce moment-là les doublons restent dans ma ListBox (des codes postaux dans mon projet).
Pourquoi ?
If Application.Subtotal(3, Range("A2:A10000")) > 0 Then
ReDim temp(1000) For Each cell In r If IsError(Application.Match(cell, temp, 0)) Then On Error Resume Next temp(i) = cell i = i + 1 End If Next cell ReDim Preserve temp(i - 1)
Userform1.ListBox1.List = temp Else Exit Sub End If
Merci pour votre aide. Bonne journée Xavier
Bonjour,
Set MonDico = CreateObject("Scripting.Dictionary")
For Each c In Range([A2], [A65000].End(xlUp))
If Not MonDico.Exists(c.Value) Then MonDico.Add c.Value, c.Value
Next c
Me.ListBox1.List = MonDico.items
Cette macro marche à merveille quand il est question d'alimenter une
ListBox sans les doublons pour autant que les données soient
alphanumériques... (des pays dans mon projet)
par contre si la colonne comporte des nombres à ce moment-là les
doublons restent dans ma ListBox (des codes postaux dans mon projet).
Pourquoi ?
If Application.Subtotal(3, Range("A2:A10000")) > 0 Then
ReDim temp(1000)
For Each cell In r
If IsError(Application.Match(cell, temp, 0)) Then
On Error Resume Next
temp(i) = cell
i = i + 1
End If
Next cell
ReDim Preserve temp(i - 1)
Userform1.ListBox1.List = temp
Else
Exit Sub
End If
Set MonDico = CreateObject("Scripting.Dictionary") For Each c In Range([A2], [A65000].End(xlUp)) If Not MonDico.Exists(c.Value) Then MonDico.Add c.Value, c.Value Next c Me.ListBox1.List = MonDico.items
Cette macro marche à merveille quand il est question d'alimenter une ListBox sans les doublons pour autant que les données soient alphanumériques... (des pays dans mon projet)
par contre si la colonne comporte des nombres à ce moment-là les doublons restent dans ma ListBox (des codes postaux dans mon projet).
Pourquoi ?
If Application.Subtotal(3, Range("A2:A10000")) > 0 Then
ReDim temp(1000) For Each cell In r If IsError(Application.Match(cell, temp, 0)) Then On Error Resume Next temp(i) = cell i = i + 1 End If Next cell ReDim Preserve temp(i - 1)
Userform1.ListBox1.List = temp Else Exit Sub End If