Doublons dans liste (combobox) [Résolu]

yafee 34 Messages postés lundi 27 décembre 2010Date d'inscription 8 janvier 2011 Dernière intervention - 31 mai 2009 à 20:42 - Dernière réponse : yafee 34 Messages postés lundi 27 décembre 2010Date d'inscription 8 janvier 2011 Dernière intervention
- 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
cs_Galain 1270 Messages postés mardi 11 novembre 2003Date d'inscription 24 juillet 2013 Dernière intervention - 1 juin 2009 à 15:18
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

Merci cs_Galain 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de cs_Galain
Meilleure réponse
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 2 juin 2009 à 10:49
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 

Merci PCPT 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de PCPT
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 1 juin 2009 à 10:11
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
yafee 34 Messages postés lundi 27 décembre 2010Date d'inscription 8 janvier 2011 Dernière intervention - 2 juin 2009 à 10:21
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
yafee 34 Messages postés lundi 27 décembre 2010Date d'inscription 8 janvier 2011 Dernière intervention - 2 juin 2009 à 10:58
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.