Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Alimenter une ListBox avec données numériques sans doublons

2 réponses
Avatar
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

Merci pour votre aide.
Bonne journ=E9e
Xavier

2 réponses

Avatar
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

http://boisgontierjacques.free.fr/fichiers/Formulaire/F_SansDoublons.xls

JB


On 25 mai, 16:45, wrote:
Bonjour à tous,

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


Avatar
domivax
Bonjour JB,

Merci, ça marche merci

Bon week-end