Listbox sans doublons dans un userform vba excel ...
Résolu
wire less
Messages postés
247
Statut
Membre
-
f894009 Messages postés 17413 Statut Membre -
f894009 Messages postés 17413 Statut Membre -
Bon sujet classique ... dsl j'ai parcouru les forums mais je n'arrive toujours pas à créer ma listbox sans doublons !!
Mon script ... J'ai une combobox1 et je souhaite que lorsque je clic dessus, je viennes alimenter ma listbox. Ma listbox se rempli ... sans avoir deux fois le même élément !!
Du coup j'ai fait un :
Voila ... simplissime ... (oui bon ... c'est ce que j'ai trouvé sur les forums ... c'étais pas mon idée ... j'ajoute les éléments de ma combobox dans une "Collection", (apparemment les collections n'acceptent pas les doublons), puis je transfert ma collection dans listbox.
Et bien ... devinez ... ça ne marche pas :'-(
Quelqu'un aurait il une idée ou une correction ... ou une autre solution ?
Merci.
Mon script ... J'ai une combobox1 et je souhaite que lorsque je clic dessus, je viennes alimenter ma listbox. Ma listbox se rempli ... sans avoir deux fois le même élément !!
Du coup j'ai fait un :
Private Sub ComboBox1_Click()
Dim Unique As New Collection
Dim Valeur As Range
Unique.Add ComboBox1.Value
For Each Valeur In Unique
Me.ListBox1.AddItem Valeur
Next Valeur
Voila ... simplissime ... (oui bon ... c'est ce que j'ai trouvé sur les forums ... c'étais pas mon idée ... j'ajoute les éléments de ma combobox dans une "Collection", (apparemment les collections n'acceptent pas les doublons), puis je transfert ma collection dans listbox.
Et bien ... devinez ... ça ne marche pas :'-(
Quelqu'un aurait il une idée ou une correction ... ou une autre solution ?
Merci.
A voir également:
- Listbox sans doublons dans un userform vba excel ...
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Excel compter cellule couleur sans vba - Guide
- Trier un tableau excel - Guide
- Doublons photos - Guide
3 réponses
J'ai fait un truc comme toi pour mon application c# et pour éviter les doublons tu dois tester les éléments du ListBox en gros tu test le précédent par rapport au suivant et s'il sont différent tu le laisse dedans sinon tu supprimes une des deux occurrences.
Bonjour a vous deux,
Dim Unique As New Collection Dim i As Integer Dim Valeur As Variant Private Sub ComboBox1_Click() On Error Resume Next Unique.Add Item:=ComboBox1.Text, Key:=CStr(ComboBox1.ListIndex) On Error GoTo 0 'raz listbox ListBox1.Clear 'Boucle sur le contenu de la collection pour alimenter la ListBox For Each Valeur In Unique Me.ListBox1.AddItem Valeur Next Valeur End Sub
J'attends encore un peu, si personne n'a de solution, j'essaierais ta solution des boucles qui teste chaque occurrence pour voir si elle sont double :-/