Doublons dans liste (combobox) [Résolu]

Messages postés
34
Date d'inscription
lundi 27 décembre 2010
Dernière intervention
8 janvier 2011
- - Dernière réponse : yafee
Messages postés
34
Date d'inscription
lundi 27 décembre 2010
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
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
1270
Date d'inscription
mardi 11 novembre 2003
Dernière intervention
24 juillet 2013
7
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 91 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Galain
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
29
3
Merci
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 

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 91 internautes nous ont dit merci ce mois-ci

Commenter la réponse de PCPT
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
29
0
Merci
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 
Commenter la réponse de PCPT
Messages postés
34
Date d'inscription
lundi 27 décembre 2010
Dernière intervention
8 janvier 2011
0
Merci
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
Commenter la réponse de yafee
Messages postés
34
Date d'inscription
lundi 27 décembre 2010
Dernière intervention
8 janvier 2011
0
Merci
OK c'est bon ça marche merci pour l'aide.

Bonne journee
Commenter la réponse de yafee

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.