Alimentation listbox AVEC doublons !

Signaler
Messages postés
18
Date d'inscription
dimanche 27 mars 2011
Statut
Membre
Dernière intervention
24 novembre 2011
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour,

J'ai un problème dont je ne trouve pas la solution sur le net... En effet, beaucoup veulent alimenter une listbox sans doublons, alors que je dois être le seul à vouloir le faire AVEC !

J'ai une listbox que j'alimente sans soucis lorsque je sélectionne les valeurs issues d'une série de combobox.
Mon problème est que la listbox n'accepte pas que je l'alimente deux fois de suite avec la même valeur ... !!
Par exemple, si la dernière valeur ajoutée à la listbox est "CAFE", je ne peux pas re-cliquer sur ma combobox et choisir la ligne "CAFE" pour l'ajouter une deuxième fois en dessous de la dernière ligne de ma listbox comportant ce même mot "CAFE".

Une piste pour résoudre ce problème est la bienvenue...

Si dessous mon code pour alimenter ma listbox:

Private Sub combobox_Change()
On Error Resume Next

listbox.AddItem combobox.List(combobox.ListIndex, 0)
listbox.List(listbox.ListCount - 1, 1) = combobox.List(combobox.ListIndex, 1)
listbox.List(listbox.ListCount - 1, 2) = Format(combobox.List(combobox.ListIndex, 2), "# ###.00€")


Vous remerciant par avance

[Me]

5 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
Bonjour,

Le code que tu montres ici (et surtout l'évènement utilisé) donne à penser que tu ne développes pas sous VB6, mais sous VBA.
Or, il se trouve que les deux contrôles (celui de VB6 et celui de VBA) ne réagissent pas de la même manière.
On attend donc que tu clarifies ce point important : VB6 ou VBA ?

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
18
Date d'inscription
dimanche 27 mars 2011
Statut
Membre
Dernière intervention
24 novembre 2011

Bonjour,

Pardon pour mon manque de précision, je travail sous VBA effectivement (Excel 2007), et me suis donc trompé de catégorie pour poser ma question...
Toute mes excuses...

Salutations

[Me]
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
Bien

Mais ne te "trompe" plus dorénavant de catégorie, si tu veux mon aide, hein. (je ne plaisante pas).
Tu vois bien à quoi cela peut mener : les comboboxes de VB6 et celles de VBA ne réagissent pas de la même manière et le code à décider est alors totalement différent !
Sous VBA, donc, c'est l'évènement click, qu'il te faut choisir dans un tel cas.
Et avec ce code, pour une combo nommée ComboBox1 et une listbox nommée ListBox1
Private Sub ComboBox1_Click()
 If ComboBox1.Text <> "" Then ListBox1.AddItem ComboBox1.Text
 ComboBox1.Text = ""
End Sub


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
18
Date d'inscription
dimanche 27 mars 2011
Statut
Membre
Dernière intervention
24 novembre 2011

Bonjour ucfoutu,

J'avais déjà essayé de programmer mes combobox avec l'événement click(), sans succès. La listbox s'alimente de la même manière qu'avec l'évênement change() mais je ne peux toujours pas ajouter deux fois de suite la même valeur.
Hier, j'ai du coup réessayé avec ton code mais cette fois la listbox ne se rempli même plus...

Merci en tout cas de prendre de ton temps pour nous aider (débutants).

[Me]
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
Tu voudras bien comprendre que j'ai testé ce code, avant de te le proposer. Et il fonctionne parfaitement.

J'espère que tu as bien (car sinon, bien évidemment) supprimé le code que tu aurais pu mettre dans l'évènement Change (hein)


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient