Bonjour à tous,

j'essaie de me connecter à une base de données excel via vba avec les requetes sql; mais j'ai un message d'erreur qui s'affiche:


Erreur d'exécution '-2147217865(80040e37)':
Le moteur de base de données Microsoft Access n'a pas pu trouver l'objet Table. Vérifiez qu'il existe et que vous avez correctement entré son nom et son chemin d'accès. Si Table n'est pas un objet local, verifiez la connexion réseau, ou contactez l'administrateur du serveur.

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
Option Explicit
Public Const Fld_DB = "chemin"
Public Const Name_DB= "NomFichier.xlsx"
Public Const Fld_DBL = Fld_DB & Name_DB
Public Const DB_Connect As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Fld_DBL
 
Sub test()
    Dim tp As Variant
 
    tp = Xls_SqlLoader(DB_Connect)
 
End Sub
 
Public Function Xls_SqlLoader(ByVal strConnection As String) As Variant
 
    Dim rst As ADODB.Recordset
    Dim Cn As ADODB.Connection
    Dim Sql_Tx As String
 
  '--- Connection ---
    Set Cn = New ADODB.Connection
        With Cn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = strConnection & ";Extended Properties=""Excel 12.0; HDR=YES"""
        .Open
    End With
 
    Sql_Tx = "SELECT NomTable1, NomTable2 from FUNDS WHERE  NomTable1= 'Bidule'  "
 
    Set rst = New ADODB.Recordset
 
    Set rst = Cn.Execute(Sql_Tx)
 
    Xls_SqlLoader = 0 
    Cn.Close
End Function
SVP j'ai besoin d'aide je ne comprends pas du tout pourquoi mon code ne marche pas.

Merci d'avance.