Bonjour,

J'ai un formulaire avec une listebox affichant le resultat d'une requete. Je souhaite filtrer les résultat depuis le formulaire. Pour cela j'ai créé 3 textbox ou l'utilisateur peut saisir du texte pour filtrer.
Ensuite l'utilisateur clique sur un bouton.
Sur l’événement de clique j'ai une procédure associé:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
Private Sub txtNumProd_Change()
    Dim sReq As String
    sReq = "SELECT Produits.nom, Produits.Description, Fournisseurs.nom "
    sReq = sReq & "FROM Fournisseurs INNER JOIN Produits ON Fournisseurs.IDFournisseur=Produits.IDFournisseurs "
 
    If (txtNumProd <> "") Then
        sReq = sReq & " Where Produits.nom like '" & txtNumProd.Text & "' "
    Else
        sReq = sReq & " Where true=true "
    End If
 
    If (txtNomProd <> "") Then
       sReq = sReq & " AND Produits.Description like '%" & txtNomProd.Text & "%' "
    Else
        sReq = sReq & " AND true=true "
    End If
 
    If (txtNomProducteur <> "") Then
        sReq = sReq & " AND Fournisseurs.nom like '" & txtNomProd.Text & "' "
    Else
        sReq = sReq & " AND true=true "
    End If
 
    sReq = sReq & "ORDER BY Produits.MaterialNumberLong;"
    sReq = sReq & " "
 
    lstResult.RowSource = sReq
    lstResult.Requery
 
    If (lstResult.ListCount) > 0 Then
        lstResult.Selected(0) = False
    End If
End Sub
J'ai précédé le nom de mes textbox par txt et le nom de ma listbox par lst

Quand le code s’exécute il me renvoi l'erreur suivante:
"erreur d’exécution 2185" impossible de faire référence à une propriété ou de la définir pour un contrôle si ce dernier n'est pas activé

Je ne comprend pas ce message, tous mes contrôles existe, le nom est le bon.

Bref je suis preneur de tous conseils, même si je m'y prend mal et que quelqu'un a une autre solution.

Par avance merci pour votre aide.