VBA - Connecter une base de donnée (MDB) à excel

Décembre 2016


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 With
    Table.Close 
    BDexp.Close 
    Set BDexp = Nothing 
    Set Table = Nothing 

End Sub

A voir également :

Ce document intitulé «  VBA - Connecter une base de donnée (MDB) à excel  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.