Listbox sans doublons dans un userform vba excel ...
Résolu/Fermé
wire less
Messages postés
230
Date d'inscription
lundi 5 octobre 2009
Statut
Membre
Dernière intervention
29 août 2018
-
28 avril 2015 à 11:07
f894009 Messages postés 17267 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 23 mars 2025 - 29 avril 2015 à 08:57
f894009 Messages postés 17267 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 23 mars 2025 - 29 avril 2015 à 08:57
A voir également:
- Listbox sans doublons dans un userform vba excel ...
- Liste déroulante excel - Guide
- Supprimer les doublons excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
3 réponses
VlkPr3s
Messages postés
235
Date d'inscription
vendredi 30 mai 2014
Statut
Membre
Dernière intervention
27 juin 2016
130
28 avril 2015 à 11:45
28 avril 2015 à 11:45
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.
f894009
Messages postés
17267
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
23 mars 2025
1 713
Modifié par f894009 le 28/04/2015 à 17:02
Modifié par f894009 le 28/04/2015 à 17:02
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
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
29 avril 2015 à 06:49
29 avril 2015 à 06:49
Bonjour f89,
petite remarque
si tu instancies par "new" et si tu rends la main au système en fin de macro(et seulement on utilise "new"), tu dois "détruire" l'objet en fin de macro
set unique= nothing
Cordialement
petite remarque
si tu instancies par "new" et si tu rends la main au système en fin de macro(et seulement on utilise "new"), tu dois "détruire" l'objet en fin de macro
set unique= nothing
Cordialement
f894009
Messages postés
17267
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
23 mars 2025
1 713
>
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
Modifié par f894009 le 29/04/2015 à 08:59
Modifié par f894009 le 29/04/2015 à 08:59
Bonjour,
En effet, je l'oublie souvent dans des "petits codes", merci.
En effet, je l'oublie souvent dans des "petits codes", merci.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 754
29 avril 2015 à 07:54
29 avril 2015 à 07:54
Bonjour Messieurs,
Un exemple sans collection, juste un petit traitement d'erreur :
Un exemple sans collection, juste un petit traitement d'erreur :
Private Sub ComboBox1_Click() On Error GoTo fin Me.ListBox1 = ComboBox1 If ListBox1.ListIndex = -1 Then GoTo fin Exit Sub fin: Me.ListBox1.AddItem ComboBox1 End Sub
28 avril 2015 à 14:02
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 :-/
28 avril 2015 à 14:41