Aide sur la correction d'un code de recherche [Résolu]

Signaler
Messages postés
85
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
18 décembre 2008
-
Messages postés
85
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
18 décembre 2008
-
Bonjour à tous,

J'ai besoin de votre aide pour corriger ce bout de code.
Son but actuel : rechercher dans une liste un client.
La comparaison se fait sur l'occurence exacte. Ca fonctionne bien.

Mon but (et votre aide) : modifier ce bout de code pour permettre de trouver l'occurence qui débute par les mêmes lettres que celles recherchées.

Actuellement si j'entre la recherche DURANT... le code va identifier DURANT.
Ce que je souhaite c'est pouvoir entrer en recherche DUR

et que le prog puisse m'afficher

DURANT
DURAND
DURANO
DURT
etc...

Je ne vois pas pour l'instant comment modifier mon code pour atteindre ce but. Pourtant.. je suis sûr que c'est tout simple.

Private Sub bu_recherch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bu_recherch.Click
        Dim I As Integer = 0 'variable de boucle
        Dim Achercher As String = TB_rechercher.Text ' le nom à chercher dans la liste
        ' la boucle recherche si l'occurence est trouvée dans la cellule 3 du datagridview
        ' si l'occurence est trouvée alors la ligne est sélectionnée et s'affiche en surbrillance
        ' la variable numvisucli récupère l'ID du client de manière à ouvrir la fiche détaillée dans un form
        Achercher = Achercher.ToUpper
        For I = 0 To compteur
            If (DataGridView1.Rows(I).Cells(3).Value) = Achercher Then _            numvisucli DataGridView1.Rows(I).Cells(0).Value : DataGridView1.Rows(I).Selected True _
               : DataGridView1.FirstDisplayedScrollingRowIndex = I : TB_rechercher.ResetText() _
             : TB_rechercher.Refresh() : Exit Sub
        Next
        TB_rechercher.ResetText() : TB_rechercher.Refresh() : MsgBox("occurence non trouvée")
        TB_rechercher.Focus()

    End Sub

Merci de votre aide.

Philippe - Sympa 74
 

4 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
49
Salut,
Essaie ceci
If UCase(Mid(DataGridView1.Rows(I).Cells(3).Value, 1, Len(Achercher))) = UCase(Achercher) Then

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
9
Salut avec un if et un left à partir du 5e caractère ça devrai être bon!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
85
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
18 décembre 2008

merci pour la rapidité de la réponse... mais je ne comprends pas bien.. ou je place mon if.. mon left... et le 5è caractère de quoi ?

Philippe - Sympa 74
 
Messages postés
85
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
18 décembre 2008

Yes yes yes... ca marche... génial... merci.
Bon après-midi à toi.

Philippe - Sympa 74