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

Sympa74 85 Messages postés lundi 25 septembre 2006Date d'inscription 18 décembre 2008 Dernière intervention - 15 mars 2007 à 13:29 - Dernière réponse : Sympa74 85 Messages postés lundi 25 septembre 2006Date d'inscription 18 décembre 2008 Dernière intervention
- 15 mars 2007 à 13:50
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
 
Afficher la suite 

Votre réponse

4 réponses

jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 15 mars 2007 à 13:41
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de jrivet
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 15 mars 2007 à 13:33
0
Utile
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:
Commenter la réponse de drikce06
Sympa74 85 Messages postés lundi 25 septembre 2006Date d'inscription 18 décembre 2008 Dernière intervention - 15 mars 2007 à 13:37
0
Utile
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
 
Commenter la réponse de Sympa74
Sympa74 85 Messages postés lundi 25 septembre 2006Date d'inscription 18 décembre 2008 Dernière intervention - 15 mars 2007 à 13:50
0
Utile
Yes yes yes... ca marche... génial... merci.
Bon après-midi à toi.

Philippe - Sympa 74
 
Commenter la réponse de Sympa74

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.