Doublons dans liste (combobox) [Résolu]

Signaler
Messages postés
34
Date d'inscription
lundi 27 décembre 2010
Statut
Membre
Dernière intervention
8 janvier 2011
-
Messages postés
34
Date d'inscription
lundi 27 décembre 2010
Statut
Membre
Dernière intervention
8 janvier 2011
-
Bonjour,

J'ai une liste déroulante (cmbIntitule) qui quand je clique dessus ajoute l'élément choisi dans une liste simple (liste1).

Maintenant j'aimerais de pas avoir de doublons dan ma liste simple.
C'est a dire que si je clique deux fois sur le même élément dans ma liste déroulante, un beep se fait entendre et bien sur il n'est pas rajouté dans ma liste.

Private Sub cmbIntitule_Click()

    liste1.AddItem (cmbIntitule)

End Sub

Merci de votre aide

5 réponses

Messages postés
1263
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
Salut yafee

En langage algorithmique cela donne ceci

Private Sub cmbIntitule_Click()

dim ajout as boolean  ' variable booléenne

ajout = vrai
Si listbox <> pas vide
     Pour index = debutlistbox to finlistbox (boucle For ...Next)           Si cmbIntitule.text Liste1.List(index) alors ajout faux: Sortir de la boucle
     Index suivant
Fin Si
If ajout = vrai alors liste1.AddItem (cmbIntitule) ' on ajoute la combo

end sub

Tu n'as plus qu'à traduire en VB

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
salut,

au moins tu as essayé....
tu utilises INDEX qui n'est pas déclaré, donc tu utilises ZERO
à quoi sert I alors? ;)

ps : tout en haut de ton code, en toute première ligne dans les déclarations générales, ajoute OPTION EXPLICIT
çà sert à avoir une erreur lors de l'utilisation d'une variable non déclarée


<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
salut,

montre nous un début de code "de test"
si la valeur n'existe pas, tu l'ajoutes
sinon beep

ps : le code est présent sur codyx.org

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
Messages postés
34
Date d'inscription
lundi 27 décembre 2010
Statut
Membre
Dernière intervention
8 janvier 2011

Re,

Voila donc le code traduit en VB et le problème c'est que ça ne fonctionne que pour la première valeur dans ma liste simple(liste1).
En sachant que ma liste déroulante est "cmbIntitule" savez vous quel est le probleme ?

Code :

Dim ajout As Boolean

ajout = True
If cmbIntitule <> "" Then
     For i = 0 To liste1.ListCount - 1
        If cmbIntitule.Text = liste1.List(Index) Then
            ajout = False
        End If
     Next i
End If
If ajout = True Then
    liste1.AddItem (cmbIntitule)
End If

Merci de votre aide
Messages postés
34
Date d'inscription
lundi 27 décembre 2010
Statut
Membre
Dernière intervention
8 janvier 2011

OK c'est bon ça marche merci pour l'aide.

Bonne journee