Doublons dans liste (combobox)

Résolu
yafee Messages postés 34 Date d'inscription lundi 27 décembre 2010 Statut Membre Dernière intervention 8 janvier 2011 - 31 mai 2009 à 20:42
yafee Messages postés 34 Date d'inscription lundi 27 décembre 2010 Statut Membre Dernière intervention 8 janvier 2011 - 2 juin 2009 à 10:58
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

Profil bloqué
1 juin 2009 à 15:18
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
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 juin 2009 à 10:49
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 
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 juin 2009 à 10:11
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 
0
yafee Messages postés 34 Date d'inscription lundi 27 décembre 2010 Statut Membre Dernière intervention 8 janvier 2011
2 juin 2009 à 10:21
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yafee Messages postés 34 Date d'inscription lundi 27 décembre 2010 Statut Membre Dernière intervention 8 janvier 2011
2 juin 2009 à 10:58
OK c'est bon ça marche merci pour l'aide.

Bonne journee
0
Rejoignez-nous