Doublon dans une listbox [Résolu]

goredo 26 Messages postés dimanche 3 mai 2009Date d'inscription 4 mars 2010 Dernière intervention - 11 févr. 2010 à 17:48 - Dernière réponse : jaafomar 1 Messages postés lundi 6 février 2006Date d'inscription 8 mars 2010 Dernière intervention
- 8 mars 2010 à 19:20
Bonjour,
je développe actuellement un soft qui permet de gérer une bibliothèque gerée par un fichier xml.
Pour trier celle ci j'utilise des listbox permettant de filtrer mes données :
j'ai dans une premiere listbox tout mes modèles et dans une seconde les références qui correspondent au modèle.

c'est ici que se pose mon problème,dans ma premiere listbox j'aimerais qu'un les modele identique ne soient écrit qu'une seule fois (logique sinan j'aurais toujours un modèle pour une référence... )

si quelqu'un a une idée pour faire disparaitre ses doublons...
merci bien et bravo à se forum qui est dynamique et encourage à progresser en programmation
Afficher la suite 

9 réponses

Répondre au sujet
goredo 26 Messages postés dimanche 3 mai 2009Date d'inscription 4 mars 2010 Dernière intervention - 12 févr. 2010 à 10:12
+3
Utile
certes...
je t'acherai de m'en rappeler,merci encore
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de goredo
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 11 févr. 2010 à 18:30
0
Utile
Salut
En tapant "doublon listbox" dans la recherche parmi les questions du forum, tu aurais déjà la réponse.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
goredo 26 Messages postés dimanche 3 mai 2009Date d'inscription 4 mars 2010 Dernière intervention - 12 févr. 2010 à 09:43
0
Utile
merci jack,j'avais essayé les methodes proposé mais je me suis a chaque fois retrouvé confronté à un probleme...
je met ci-dessous mon extrait de code de la listbox...
   Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        Dim i As Integer

        For i = ListBox1.ListCount - 2 To 0 Step -1
            If ListBox1.List(i) = ListBox1.List(i + 1) Then
                ListBox1.RemoveItem(i + 1)
            End If
        Next i

        ElemLie("/quincaillerie/objet/Modele", ListBox1.SelectedItem, 1, ListBox2)

    End Sub


ca me retourne une erreur de type :

Error 1 'ListCount' is not a member of 'System.Windows.Forms.ListBox'.
Commenter la réponse de goredo
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 12 févr. 2010 à 09:52
0
Utile
Bonjour,
Cà, c'est quand on se contente de copier/coller sans faire le moindre effort.
Tu as trouvé un code VB6 et tu l'as sereinement collé dans VB.Net (qui ne connaît en effet pas cette propriété) !
C'est fort !
regarde ce qu'est, sous VB.Net (que je ne connais pas) :
ListBox1.Items.Count


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Commenter la réponse de ucfoutu
goredo 26 Messages postés dimanche 3 mai 2009Date d'inscription 4 mars 2010 Dernière intervention - 12 févr. 2010 à 09:56
0
Utile
merci de répondre si vite mais sachez que rien ne vous oblige à me prendre de haut et d'être désobligeant...
On m'a orienté dans mes recherche vers vraisemblablement un code VB6 comme vous l'avez dit et je ne m'en doutez pas.Toute critique est constructive et bonne à prendre,néamoins la comprehension prevaut sur la brimade...à bon entendeur.

Néamoins merci encore pour la piste que vous m'avez fourni
Commenter la réponse de goredo
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 12 févr. 2010 à 10:01
0
Utile
Excuse-moi, mais comprends donc : un tout petit effort (minuscule) était là nécessaire et évident, rien de plus !
Rends-toi donc compte : je t'ai répondu sans même rien connaître de VB.Net (que je n'ai même pas)


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Commenter la réponse de ucfoutu
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 12 févr. 2010 à 10:20
0
Utile
Pour revenir à ton problème, les doublons se gèrent lors de l'insertion dans la ListBox :
Au moment où tu veux insérer un nouvel Item, il te suffit de vérifier s'il existe déjà grace à la méthode Contains exposée dans les sources que tu trouveras grace à une simple recherche.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
goredo 26 Messages postés dimanche 3 mai 2009Date d'inscription 4 mars 2010 Dernière intervention - 12 févr. 2010 à 10:37
0
Utile
ca marche :)
je met met la dessus la ;)
Commenter la réponse de goredo
jaafomar 1 Messages postés lundi 6 février 2006Date d'inscription 8 mars 2010 Dernière intervention - 8 mars 2010 à 19:20
0
Utile
voici ma proposition
supposons que text1.text est le texte qu'il ajoute dans la liste:

ListBox1.AddItem Text1.Text
Dim i As Integer

For i = 0 To ListBox1.ListCount - 1
If Text1.Text = ListBox1.List(i) Then
ListBox1.RemoveItem i


End If
Next i
Commenter la réponse de jaafomar

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.