BenHarber
XLDnaute Occasionnel
Bonjour le Forum
J’utilise depuis des années une macro (trouvée sur ce site) qui requête dans un fichier Excel fermé en faisant appel à des commandes SQL.
Tout fonctionne très bien lorsque les fichiers "Requête" et "Source" sont installés sur un serveur.
Dim Cn As Object, rqst As Object
'Définit le classeur fermé servant de base de données
WbkSrc = ThisWorkbook.Path & "\BD\MonFichier.xlsm" ' & Dir(ThisWorkbook.Path & "\BD\" & "DernExtrac*")
Set Cn = CreateObject("ADODB.Connection")
With Cn
.Provider = "MSDASQL"
.ConnectionString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" & _
"DBQ=" & WbkSrc & "; ReadOnly=True;"
.Open
End With
Set rqst = CreateObject("ADODB.Connection")
Set rqst = Cn.Execute(cde_SQL)
J’ai aujourd’hui la possibilité de stocker mes fichiers sur OneDrive : j’ai fait un essai mais à la commande « cn.open », j’ai le message suivant :
Bon, là c'est clairement hors de mes compétences !
Savez-vous s’il faut simplement modifier une partie de code ou si la solution est beaucoup plus difficile à mettre en oeuvre ?
Merci d’avance pour toutes vos idées et suggestions !
J’utilise depuis des années une macro (trouvée sur ce site) qui requête dans un fichier Excel fermé en faisant appel à des commandes SQL.
Tout fonctionne très bien lorsque les fichiers "Requête" et "Source" sont installés sur un serveur.
Dim Cn As Object, rqst As Object
'Définit le classeur fermé servant de base de données
WbkSrc = ThisWorkbook.Path & "\BD\MonFichier.xlsm" ' & Dir(ThisWorkbook.Path & "\BD\" & "DernExtrac*")
Set Cn = CreateObject("ADODB.Connection")
With Cn
.Provider = "MSDASQL"
.ConnectionString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" & _
"DBQ=" & WbkSrc & "; ReadOnly=True;"
.Open
End With
Set rqst = CreateObject("ADODB.Connection")
Set rqst = Cn.Execute(cde_SQL)
J’ai aujourd’hui la possibilité de stocker mes fichiers sur OneDrive : j’ai fait un essai mais à la commande « cn.open », j’ai le message suivant :
Bon, là c'est clairement hors de mes compétences !
Savez-vous s’il faut simplement modifier une partie de code ou si la solution est beaucoup plus difficile à mettre en oeuvre ?
Merci d’avance pour toutes vos idées et suggestions !