Bonjour à tous.

Je fais des requêtes sur une feuille excel en utilisant ADODB (version 2.7)

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
 
Private Sub txtBoxNomClt_Change()
    Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    With cn
        .Provider = "MSDASQL"
        .ConnectionString = "Driver={Microsoft Excel Driver" & _ 
"(*.xls)};DBQ=C:\datab.xls;"
        .Open
    End With
 
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset
    rs.Open "SELECT * FROM [data$]", cn
 
    .......
 
    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing
End Sub
Le problème c'est que quand j'utilise * dans la requête, tout fonctionne.
Seulement quand je donne un nom de champs dans ma requête, j'ai une erreur à l'exécution (erreur automation)

Requête qui marche = "SELECT * FROM [base$]"

Requête qui ne marche pas = "SELECT RSCLTL FROM [base$] WHERE RSCLTL Like 'A%' "

J' ai besoin d'aide car je pense que le problème viens de la syntaxe de mes nom de champs et j'ai tout essayé (les `RSCLTL` / [RSCLTL] ...) Mais rien n'y fait.

Pour résumr : Au secours !!