Doublon dans une listbox

Résolu
goredo Messages postés 26 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 4 mars 2010 - 11 févr. 2010 à 17:48
jaafomar Messages postés 1 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 8 mars 2010 - 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

9 réponses

goredo Messages postés 26 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 4 mars 2010
12 févr. 2010 à 10:12
certes...
je t'acherai de m'en rappeler,merci encore
3
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
11 févr. 2010 à 18:30
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)
0
goredo Messages postés 26 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 4 mars 2010
12 févr. 2010 à 09:43
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'.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
12 févr. 2010 à 09:52
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
0

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

Posez votre question
goredo Messages postés 26 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 4 mars 2010
12 févr. 2010 à 09:56
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
12 févr. 2010 à 10:01
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
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
12 févr. 2010 à 10:20
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)
0
goredo Messages postés 26 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 4 mars 2010
12 févr. 2010 à 10:37
ca marche :)
je met met la dessus la ;)
0
jaafomar Messages postés 1 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 8 mars 2010
8 mars 2010 à 19:20
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
0