Bonjour,

J’exécute une requête SQL sur un classeur fermé avec la formule suivante:
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
    Dim SheetName2 As String, texte_SQL2 As String
    Dim Cn2 As ADODB.Connection
    Dim Rst2 As ADODB.Recordset
    'MsgBox NoemieNumber
 
    '--- Nom de la feuille dans le classeur fermé ---
    SheetName2 = "Sorties stock et magasin"
    'MsgBox SheetName2
 
    '--- Connexion ---
    '--- Lorsque HDR=No, cela signifie que la première ligne du fichier Excel n'est pas le nom des champs ---
    '--- Il faut mettre [F1] par exemple pour la colonne A, [F2] pour la colonne B, etc... ---
    Set Cn2 = New ADODB.Connection
    With Cn2
        .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
        & InformationsFile & ";Extended Properties=""Excel 12.0;HDR=No;"""
        .Open
    End With
 
    '--- Définition la requête ---
    '--- /!\ Attention à ne pas oublier le symbole $ après le nom de la feuille. ---
    texte_SQL2 = "SELECT * FROM [" & SheetName2 & "$] WHERE [F1] = '" & NoemieNumber & "';"
    MsgBox texte_SQL2
    Set Rst2 = New ADODB.Recordset
    Set Rst2 = Cn2.Execute(texte_SQL2)
.

J'ai une erreur lors de l’exécution, je n'arrive pas à voir d'où vient l'erreur. Je pensais que cela provenait du nom qui contient un caractère spécial ("-"), mais j'ai renommé l'onglet en toto et j'ai le même problème...


Nom : 2020-03-27_17h55_52.png
Affichages : 216
Taille : 4,4 Ko


Merci par avance pour vos retours!!