Affichage données ListBox avec doublons

Bonsoir a tous,

Comme l'indique le titre, j'aimerais afficher des données dans une ListBox selon critère avec les doublons.

J'ai écrit un code qui gère tous ça correctement, il y a juste un soucis sur les doublons. Dans le fichier test que je vous transmet et selon le tableau il doit m'afficher 2 fois "stephane" or il me l'affiche une seul fois.

Private Sub userform_initialize()

With Sheets("Tableau")
    Dim cell As Range
    Dim unique As New Collection
    Dim valeur As Range
    Dim i As Integer

'Récupère la dernière ligne non vide dans la colonne B
    i = Sheets("Tableau").Range("A65536").End(xlUp).Row

    On Error Resume Next
'boucle sur les cellules de la colonne A

    For Each cell In Sheets("Tableau").Range("A2:A" & i)

    If cell.Offset(0, 4) = "" Then
      unique.Add cell, CStr(cell)
    End If
    Next cell

    'Boucle sur le contenu de la collection pour alimenter la ListBox
    For Each valeur In unique
        Me.ListBox1.AddItem valeur
    Next valeur

End With

End Sub

En vous souhaitant une bonne soirée

56testvba.xlsm (19.68 Ko)

Bonsoir,

Ainsi que le nom que tu as donné à ta collection veut l'indiquer, les membres de la collection sont uniques !

C'est le code que tu as écrit.

ok donc pour contrer ca je doit utiliser true ou false ?

C'est mon moment de sympathie...

unique.Add cell, CStr(cell.Row)

pour éviter doublon de clé qui élimine l'objet.

NB- Tu utilises un code auquel je n'aurais pas spontanément pensé et qui réclame une maîtrise assez avancé... ("J'ai écrit..." !?)

("J'ai écrit...", ou "nous avons écrit") avec la grande aide du forum ce code.

Comme ce soir avec votre aide j'ai de nouveau appris des choses et cela fonctionne a merveille.

Voila pourquoi je passe ici poser mes problèmes en vba.

Rechercher des sujets similaires à "affichage donnees listbox doublons"