VBA Excel 2010 - Requête SQL Noms de champs + données
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:
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! ^^