Sélection ligne bug

Bonjour,

C'est sûrement tout bête mais je bute là-dessus depuis 1h maintenant...

J'utilise un tableau structuré qui se nomme T_Data et la colonne qui se nomme Nom du dossier.

Mon code :

'Saisie mot-clé dans textbox mot_cle + alimentation listbox liste_projets
Private Sub rech_mot_cle_Click()
   Me.liste_projets.Clear
    For i = 1 To [T_data].Rows.Count
        If InStr(1, Range("T_Data").ListObject.ListColumns("Nom du dossier").DataBodyRange.Cells(i, 1).Value, Me.mot_cle.Value) Then
            Me.liste_projets.AddItem Range("T_Data").ListObject.ListColumns("Nom du dossier").DataBodyRange.Cells(i, 1).Value
        End If
    Next
    If Me.liste_projets.ListCount = 0 Then MsgBox "Le mot clé saisi n'existe pas dans la liste des dossiers."
End Sub

'Sélection de la ligne où se trouve le projet sélectionné dans la listbox liste_projets
Private Sub rechercher_Click()
    If Me.liste_projets.Value = "" Then
        MsgBox ("Merci de sélectionner un dossier dans la liste déroulante avant de rechercher.")
    Else
        i = Application.Match(liste_projets.Value, Range("T_Data").ListObject.ListColumns("Nom du dossier").DataBodyRange, False)
        If IsError(i) Then MsgBox ("projet non trouvé"): Exit Sub
        Feuil2.Select
        Rows(i).Select
        Unload Me
    End If
End Sub

Private Sub annuler_Click()
    Unload Me
End Sub

Dans un premier temps, l'utilisateur saisi son mot-clé et clique sur le bouton qui permet ensuite d'alimenter la liste déroulante avec tous les projets contenant le mot-clé saisi.

Ensuite l'utilisateur choisi le projet qu'il souhaite dans la liste déroulante et clique sur le bouton "Rechercher", la ligne du projet concerné est alors sélectionnée.

Donc rien de bien compliqué...

Mais quoi que je fasse il sélectionne toujours la ligne 11 de ma feuille et celle-ci ne correspond pas du tout au nom de projet recherché, je ne comprends vraiment pas ce qu'il se passe...

Merci par avance !!!!

Bonne journée :)

Bonjour

Sans voir le fichier .....

Liste_projets correspond à une liste dans une combobox ou une valeur entrée dans une textbox ?
Si oui, c'est lors de la sélection du projet que vous voulez sélectionner dans le tableau Range("DATA") ?

Bonjour,

Salut Dan, je pense tout de même fournir une première réponse sur la la 2ème partie du code .

Essayer cette modif :

Private Sub rechercher_Click()
    If Me.liste_projets.Value = "" Then
        MsgBox ("Merci de sélectionner un dossier dans la liste déroulante avant de rechercher.")
    Else
        With [T_Data].ListObject
            i = Application.Match(liste_projets.Value, .ListColumns("Nom du dossier").DataBodyRange, 0)
            If IsError(i) Then MsgBox ("projet non trouvé"): Exit Sub
            .Range.Worksheet.Select
            .ListRows(i).Range.Select
        End With
        Unload Me
    End If
End Sub

* Attention l'indice i se rapporte à la ligne du tableau et non à celle de la feuille.

Salut Thev,

Oui j'avais pensé à ce que tu proposes.
Le tout est de savoir si le projet n'est pas choisi dans une combobox, auquel cas on peut jouer avec listindex et raccourcir le code.
Raison de mes questions

Attendons voir...

Rechercher des sujets similaires à "selection ligne bug"