Importer des données d’accès à Excel (ADO) en utilisant VBA dans Microsoft Excel
Avec la procédure ci-dessous, vous pouvez importer des données d’une table Access vers une feuille de calcul.
Sub ADOImportFromAccessTable(DBFullName As String, _ TableName As String, TargetRange As Range) ' Example: ADOImportFromAccessTable "C:\FolderName\DataBaseName.mdb", _ "TableName", Range("C1") Dim cn As ADODB.Connection, rs As ADODB.Recordset, intColIndex As Integer Set TargetRange = TargetRange.Cells(1, 1) ' open the database Set cn = New ADODB.Connection cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _ DBFullName & ";" Set rs = New ADODB.Recordset With rs ' open the recordset .Open TableName, cn, adOpenStatic, adLockOptimistic, adCmdTable ' all records '.Open "SELECT * FROM " & TableName & _ " WHERE [FieldName] = 'MyCriteria'", cn, , , adCmdText ' filter records RS2WS rs, TargetRange ' write data from the recordset to the worksheet ' ' optional approach for Excel 2000 or later (RS2WS is not necessary) ' For intColIndex = 0 To rs.Fields.Count - 1 ' the field names ' TargetRange.Offset(0, intColIndex).Value = rs.Fields(intColIndex).Name ' Next ' TargetRange.Offset(1, 0).CopyFromRecordset rs ' the recordset data End With rs.Close Set rs = Nothing cn.Close Set cn = Nothing End Sub
Les exemples de macro supposent que votre projet VBA a ajouté une référence à la bibliothèque d’objets ADO.
Vous pouvez le faire à partir du VBE en sélectionnant le menu Outils, Références et en sélectionnant Bibliothèque d’objets Microsoft ActiveX Data Objects x.x.
Utilisez ADO si vous pouvez choisir entre ADO et DAO pour l’importation ou l’exportation de données.