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

Le
domivax
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
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4551071
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


domivax
Le #4550991
Bonjour JB,

Merci, ça marche merci

Bon week-end
Publicité
Poster une réponse
Anonyme