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