Aide pour rechercher dans une listbox [Résolu]

Messages postés
134
Date d'inscription
jeudi 31 juillet 2008
Dernière intervention
15 février 2011
- - Dernière réponse : youpiyoyo
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Dernière intervention
14 juillet 2010
- 5 août 2008 à 16:47
Bonjour,

Je souhaiterai faire une recherche dans une liste box et affiché l'ensemble des résultats dans une autre listbox et pas seulement le premier trouvé.

Merci d'avance pour votre aide.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
843
Date d'inscription
mercredi 22 octobre 2003
Dernière intervention
7 janvier 2009
4
3
Merci
Salut,
    "For i = 1 To ListBox1.Items.Count - 1"
Est.ce volontaire que tu commence à l'index 1? Le 1er élément a l'index 0 et non 1...
Utilise la méthode Equals pour tester si le texte correspond:
    ListBox2.Items.Clear()
    ListBox2.Visible = True
    For Each item As String In ListBox1.Items
        If String.Equals(item, TextBox1.Text, StringComparison.InvariantCultureIgnoreCase) Then
            ListBox2.Items.Add(item)
        End If
    Next
"Autre problème : la recherche ne se fait que sur les premiers
caractères. Si le mot recherché est au milieu d'un élément, il n'est
pas trouvé"
Dans ce cas tu ne dois pas tester si le texte est le même, mais si il contient la chaine recherché. Le plus simple dans ce cas, à mon avis, est de faire un ToLower pour ne pas prendre en compte les majuscules:
        ListBox2.Items.Clear()
        ListBox2.Visible = True
        For Each item As String In ListBox1.Items
            item = item.ToLower
            If item.Contains(TextBox1.Text.ToLower) Then
                ListBox2.Items.Add(item)
            End If
        Next

Dire « Merci » 3

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

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

Commenter la réponse de Kevin.Ory
Messages postés
134
Date d'inscription
jeudi 31 juillet 2008
Dernière intervention
15 février 2011
1
0
Merci
J'ai reussi avec ce code :

Dim i As Integer
        Dim j As Integer
        ListBox2.Items.Clear()
        ListBox2.Visible = True
        For i = 1 To ListBox1.Items.Count - 1
            j = InStr(ListBox1.Items(i), TextBox1.Text)
            If j = 1 Then
                ListBox2.Items.Add(ListBox1.Items(i).ToString)
            End If
        Next i

Maintenant, mon problème est avec les majuscules. Dans ma listbox1, la première lettre est en majuscule. Lorsque je fais une recherche sans mettre la majuscule, les arguments ne sont pas trouvés.
Commenter la réponse de dsigmoun
Messages postés
134
Date d'inscription
jeudi 31 juillet 2008
Dernière intervention
15 février 2011
1
0
Merci
Autre problème : la recherche ne se fait que sur les premiers caractères. Si le mot recherché est au milieu d'un élément, il n'est pas trouvé
Commenter la réponse de dsigmoun
Messages postés
134
Date d'inscription
jeudi 31 juillet 2008
Dernière intervention
15 février 2011
1
0
Merci
Merci [auteur/KEVINORY/183467.aspx Kevin.Ory] pour la réponse.
Commenter la réponse de dsigmoun
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Dernière intervention
14 juillet 2010
0
Merci
Salut,
Sinon tu as la méthode FindString.
n'oubliez pas "réponse accepté".
@+
youpi :)
Commenter la réponse de youpiyoyo

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.