Bonjour à tous!

Voici mon problème: Sous Excel 2010, en VBA mon but est de pouvoir récupérer des données sur un serveur Microsoft SQL Server grâce à des requêtes SQL.
Grâce à la doc Microsoft qui est très bien écrite pour certains points, j'ai pu réaliser une requête SQL assez rapidement grâce au code suivant:

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
36
37
38
39
40
41
42
43
44
45
46
47
48
 
'---------------------------------'
'---CREATION DE LA CONNEXION---'
'---------------------------------'
 
' Create a connection object.
Dim cnPubs As ADODB.Connection
Set cnPubs = New ADODB.Connection
 
' Provide the connection string.
Dim strConn As String
 
'Use the SQL Server OLE DB Provider.
strConn = "PROVIDER=SQLOLEDB;"
 
'Connect to the Pubs database on the local server.
strConn = strConn & "DATA SOURCE=(local);INITIAL CATALOG=pubs;"
 
'Use an integrated login.
strConn = strConn & " INTEGRATED SECURITY=sspi;"
 
'Now open the connection.
cnPubs.Open strConn
 
 
'----------------------------------'
' --- EXTRACTION DES DONNEES ---'
'----------------------------------'
 
' Create a recordset object.
Dim rsPubs As ADODB.Recordset
Set rsPubs = New ADODB.Recordset
 
With rsPubs
	' Assign the Connection object.
	.ActiveConnection = cnPubs
	' Extract the required records.
	.Open "SELECT * FROM Authors"
	' Copy the records into cell A1 on Sheet1.
	Sheet1.Range("A1").CopyFromRecordset rsPubs
 
	' Tidy up
	.Close
End With
 
cnPubs.Close
Set rsPubs = Nothing
Set cnPubs = Nothing
Globalement, le code ci-dessus permet d'ouvrir une connexion sur le serveur, de récupérer les données grâce à la requête SQL et de les recopier dans une feuille excel (c'est un copié collé de la doc Windows).

Maintenant voici mon problème: cette méthode fonctionne parfaitement récupérer les données, mais j'aimerais en plus de cela récupérer le nom des colonnes associés aux données et les avoir sur la ligne 1 de ma feuille excel. Si vous connaissez un moyen en VBA pour réaliser cela, je vous serait grandement reconnaissant! ^^