Connecter une base de donnée access (MDB) dans une application excel.
- Ajouter la référence
- Microsoft DAO object librairy X.X
Dans un module général (Module1 par exemple) coller le code ci-dessous
Sub CopieDBaccess()
Dim BDexp As Database
Dim Table As Recordset
Dim TbDef As TableDef
Dim Ch As String, Lig As Long, i As Integer
Ch = "Chemin & \ & NomDeLaBD.MDB"
Set BDexp = DBEngine.Workspaces(0).OpenDatabase(Ch)
Set Table = BDexp.OpenRecordset("NomDeLaTable", dbOpenDynaset)
'Debug.Print Table.Name
Set TbDef = BDexp.TableDefs("NomDeLaTable")
Lig = 3
dim Nom(TbDef.Fields.Count - 1) As String
'Place les titres des colonnes
With Sheets("Feuil1")
For i = 0 To TbDef.Fields.Count - 1 'Pour avoir toute la ligne
'Debug.Print TbDef.Fields(i).Name
Nom(i) = TbDef.Fields(i).Name
.Cells(Lig, i + 3) = Nom(i)
Next
'Caller sur le 1er enrégistrement
Table.MoveFirst
Lig = 4
While Not Table.EOF
For i = 0 To TbDef.Fields.Count - 1 'Pour avoir toute la ligne
.Cells(Lig, i + 3) = Table(Nom(i))
Next i
Lig = Lig + 1
Table.MoveNext 'Passer à l'enrégistrement suivant
Wend
End Widt
Table.Close
BDexp.Close
Set BDexp = Nothing
Set Table = Nothing
End Sub