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 :
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 :
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
Partager