bonjour tout le monde

c pour la premiere fois que j'utilise vba pour excel,!!! j'ai utilser un bouton dans un userform: pour lire ensuite afficher les donnée une fois selectionnéés. mais j'ai probleme avec la syntaxe sql, j'ai essayé toutes les syntaxe que j'ai trouvé sur le net mais ça marche pas alors svp aidez moi je suis bloqué!!!
sans l'instruction where ça marche bien,,??????????????????????? merci

voici mon code:
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
35
36
37
38
39
40
41
 
Private Sub CommandButton1_Click()
Dim cn As ADODB.Connection
Dim Fichier As String
Dim leNom As String
Dim NomFeuille As String, texte_SQL As String
Dim rsT As ADODB.Recordset
'Initialization des variables
leNom = "HABITAT"
'Définit le classeur fermé servant de base de données
'Fichier = "S:\LYNDAYAKOUBEN\DONNEES.xls"
 Fichier = Me.TextBox1.Text
   'Nom de la feuille dans le classeur fermé
NomFeuille = Me.TextBox2.Text
Set cn = New ADODB.Connection
'--- Connection ---
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & Fichier & _
 ";Extended Properties=""Excel 8.0;HDR=yes"""
.Open
End With
'-----------------
'Définit la requête.
'/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
texte_SQL = "   SELECT * FROM [" & NomFeuille & "$]   " & _
 "  WHERE [" & NomFeuille & "$].MARCHE = '" & leNom & "'  "
Set rsT = New ADODB.Recordset
Set rsT = cn.Execute(texte_SQL)
'--- Boucle sur les entêtes pour récupérer les noms ---
For i = 0 To rsT.Fields.Count - 1
Cells(1, i + 1) = rsT.Fields(i).Name
Next i
'-----------------------------------------------------
'Ecrit le résultat de la requête dans la cellule A2
Range("A2").CopyFromRecordset rsT
'--- Fermeture connexion ---
cn.Close
Set cn = Nothing
 
End Sub