Menu

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


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

Article original publié par deri58. Traduit par lermite222.
Ce document intitulé «  VBA - Connecter une base de donnée (MDB) à excel  » issu de CommentCaMarche (https://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.
Ajouter un commentaire

Commentaires

Commenter la réponse de Salaheddine
VBA - Fonction qui retourne la couleur active d'une MFC
Excel - Surligner la ligne active