[VBA]Connecter une base de donnée (MDB) à excel
Publié par lermite222, dernière mise à jour jeu. 05 nov. 2009 à 18:00:28 par marlalapocket
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