Bonjour,
Je teste une connexion à une base SQL Server 2019 pour inclure une table dans une feuille Excel (en fait, exécuter n'importe quelle requête SQL)
J'ai cette macro :
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
Sub MacroArc()
 
    Dim Requete As String, Id As String
 
    Dim qt As QueryTable
    Dim rDest As Range
 
 
Const sConnect = "ODBC;" & "Driver={SQL Server Native Client 11.0};" & "Server=SRV-SQL, 1433;" & "Database=DIST_PARIS;" & "Trusted_Connection=no"
 
    Requete = "SELECT * FROM DIST_PARIS.TOURNEE ;"
    MsgBox Requete
 
Set rDest = Sheets("Feuil1").Range("A1")
rDest.CurrentRegion.Clear
 
Set qt = rDest.Parent.ListObjects.Add(SourceType:=xlSrcQuery, Source:=Array(sConnect), Destination:=rDest).QueryTable
 
With qt.Parameters.Add("ProductID", xlParamTypeVarChar)
    .SetParam xlRange, Sheets("Feuil1").Range("Z1")
    .RefreshOnChange = True
End With
 
With qt
    .CommandText = Requete
    .CommandType = xlCmdSql
    .AdjustColumnWidth = True
    .BackgroundQuery = False
    .Refresh
End With
 
Set qt = Nothing
Set rDest = Nothing
 
End Sub
Cela fait une erreur d'exécution 1004 sur la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Set qt = rDest.Parent.ListObjects.Add(SourceType:=xlSrcQuery, Source:=Array(sConnect), Destination:=rDest).QueryTable
Puis
[Microsoft][SQL Server Native Client 11.0][SQL Server]Nom d'objet 'DIST_PARIS.TOURNEE' non valide
Au final, j'essaye de faire une macro générique pour effectuer cette connexion.
Un peu d'aide serait bienvenue.
Merci