Aide pour rechercher dans une listbox

Résolu
dsigmoun Messages postés 135 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 25 février 2023 - 4 août 2008 à 15:58
youpiyoyo Messages postés 539 Date d'inscription vendredi 6 juin 2003 Statut Membre 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.
A voir également:

5 réponses

Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
5 août 2008 à 04:57
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
3
dsigmoun Messages postés 135 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 25 février 2023 2
4 août 2008 à 16:08
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.
0
dsigmoun Messages postés 135 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 25 février 2023 2
4 août 2008 à 16:26
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é
0
dsigmoun Messages postés 135 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 25 février 2023 2
5 août 2008 à 08:47
Merci [auteur/KEVINORY/183467.aspx Kevin.Ory] pour la réponse.
0

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

Posez votre question
youpiyoyo Messages postés 539 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 14 juillet 2010
5 août 2008 à 16:47
Salut,
Sinon tu as la méthode FindString.
n'oubliez pas "réponse accepté".
@+
youpi :)
0
Rejoignez-nous