Ecrire dans excel les résultats d'une requête SQL
Bonjour à tous et à toutes,
Dans un premier temps, je tiens à préciser que j'ai vraiment essayé pendant 2 jours de chercher et rechercher mais en vain la réponse à ma question.
Je n'ai pas su trouver cela principalement car je n'emploie pas du tout la même méthode que ce qui est préconisé à chaque réponse donnée sur le forum.
Je m'explique, pour écrire dans excel à partir d'une requête SQL qui se connecte à une BDD, je crée une connexion à la BDD et pour cela, j'utilise ce script qui fonctionne très bien pour d'autres macros (comme des macros qui lisent les cellules excel et s'en sert pour écrire sur une BDD)
Bref, tout cela pour dire que jusque là j'utilisais une méthode trouvée sur internet pour me connecter, elle fonctionne et c'est la seule que j'ai réussi à utiliser car je ne comprends pas vraiment comment fonctionnent les autres.
Je vous montre le code :
Code:
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 creation_tiers()
Dim variable1 As String
Dim variable2 As String
Dim cn As New ADODB.Connection
'Specification du fournisseur OLE DB
On Error GoTo DisplayErrorInfo
cn.Provider = "sqloledb"
'Propriétés de la connexion SQLOLEDB
cn.Properties("Data Source").Value = "MSSQLSERVER2012" 'nom du serveur
cn.Properties("Initial Catalog").Value = "BIJOU" 'nom de la base
'Authentification windows
cn.Properties("Integrated Security").Value = "SSPI"
'Ouverture de la base de données
cn.Open
'début séquence SQL
Set Rs = New ADODB.Recordset
Rs.Open ("requête SQL"), cn
'fermeture connexion
cn.Close
'gestion des erreurs
GoTo DisplayEnd
DisplayErrorInfo:
' MsgBox ("Impossible de se connecter à la base de données")
GoTo DisplayEnd
DisplayEnd: |
Le problème c'est que je vois des recordset, des connection dans les réponses données pour ce genre de problème, pour stocker le résultat d'une requête sauf que je n'y arrive pas avec la méthode de connexion que j'utilise.
J'en appelle à votre aide. J'utilise SQL SERVER 2012, ne passe pas par ACCESS. Je ne sais pas si cela va servir.
D'avance, merci à tous