IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Rechercher une valeur dans une listbox


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 13
    Par défaut Rechercher une valeur dans une listbox
    Bonjour,

    J'ai une listbox bien remplie, et je souhaite rechercher un élément de la liste.
    J'utilise un TextBox dans lequel je rentre l’élément que je souhaite rechercher. Je voudrais qu'en rentrant l’élément, que ça le recherche dans la listbox et que ça le sélectionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox1.SelectedValue = TextBox1.Text
    Ça marche quand je rentre le nom de l’élément exact.

    Maintenant, j'aimerai que ça sélectionne dans la listbox le premier élément dont les premières lettres sont celles rentrées dans le textbox. Je ne veux pas avoir a taper toutes les lettres de l’élément a chercher.

    Merci de m'éclairer.

  2. #2
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Renseigne toi sur l'AutoCompleteMode pour ta listBox je pense que c'est ce qu'il te faut
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  3. #3
    Membre Expert Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Par défaut
    L'AutoCompletMode n'existe pas pour la Listbox.

    En revanche il existe la méthode Listbox.FindString(str), qui te permet de rechercher dans ta listbox l'item qui commence par str, et couplé à l'event textchanged de ta textbox de recherche, c'est immédiat.
    (Nb: Si FindString ne trouve rien, il retourne la constante Listbox.NoMatches (-1), donc avec le code ci-joint, il deselectionnera l'actuel pour se placer à l'index -1, ensuite à toi de voir si c'est le fonctionnement que tu souhaites ou non, le cas échéant il faudra que tu testes la valeur de retour de FindString )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
     
            If TextBox1.Text <> String.Empty Then
                ListBox1.SelectedIndex = ListBox1.FindString(TextBox1.Text)
            End If
        End Sub

  4. #4
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    L'AutoCompletMode n'existe pas pour la Listbox.
    Pourtant il arrive à l'utiliser ICI

    Mais certes plus long que ta proposition
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  5. #5
    Membre Expert Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Par défaut
    Citation Envoyé par Ozeil Voir le message
    Pourtant il arrive à l'utiliser ICI

    Mais certes plus long que ta proposition
    Une listbox n'étant théoriquement pas éditable, elle n'est pas censée avoir l'autoComplete.

    Si tu remarques bien, il utilises l'autoCompleteMode sur la textbox et non la listbox, il charge toutes les valeurs de sa listbox dans un objet AutoCompleteStringCollection qu'il attache à la source de l'autoCompleteMode de la textbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With txtCities 
        .AutoCompleteCustomSource = Cities 
        .AutoCompleteMode = AutoCompleteMode.Append 
        .AutoCompleteSource = AutoCompleteSource.CustomSource 
    End With

    Après oui c'est fonctionnel, mais dans la demande, je ne crois pas que sowboubacar ai l'utilité de l'autoComplete au vu de l'énoncé ...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 13
    Par défaut
    Merci à toi Ozeil d'avoir répondu, l'AutoCompletMode est très intéressant je vais garder le lien dans mes favoris, j'en aurai surement besoin.
    Mais dans le cas présent ce n'est pas ce que je cherche à faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If TextBox1.Text <> String.Empty Then
                ListBox1.SelectedIndex = ListBox1.FindString(TextBox1.Text)
    End If
    ça marche merci John Snow! Ma liste n'est pas encore triée, je crois que si je la trie ça sera exactement ce que cherche à faire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Réponses: 5
    Dernier message: 27/03/2014, 10h59
  3. Réponses: 10
    Dernier message: 07/07/2012, 17h11
  4. Réponses: 8
    Dernier message: 28/11/2011, 11h40
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo