Menu
Donnez votre avis

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

Posez votre question

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
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