Re : Ouvrir sous Excel les tables de ACESS
Bonjour,
J'ai crée il y a longtemps un code XL qui liste toutes les tables/champs et requetes d'un projet sous Access et place le résultat dans une nouvelle feuil XL.
Je le mets tel quel, j'ai juste supprimé les ajouts de coloriage pour rendre le résultat plus joli.
Je viens d'essayer, ça fonctionne toujours.
A adapter bien sur.
Sub Requete()
Dim bdd As Database, req As QueryDef, enr As Recordset
Dim snameV As String
Dim cmpcodeV As String
Dim codeV As String
Sheets.Add
Range("A1") = "REQUETES"
Range("B1") = "TABLES"
Range("A1").Select
On Error GoTo erreurs
Set bdd = Workspaces(0).OpenDatabase("C:\MaBaseAccess.mdb")
On Error GoTo 0
'affiche les tables présentes dans la base de données ainsi que leur champs
aaa = bdd.TableDefs.Count
xya = 2
For bb = 0 To aaa - 1
ccc = bdd.TableDefs(bb).Name
Cells(xya, 2).Value = ccc
Cells(xya, 2).Font.Italic = True
Cells(xya, 2).Font.Underline = xlUnderlineStyleSingle
Cells(xya, 2).Font.Bold = True
Cells(xya, 2).Font.ColorIndex = 3
xya = xya + 1
'Nombre de Champs dans la table
bbb = bdd.TableDefs(bb).Fields.Count
For cc = 0 To bbb - 1
'Récupération des champs de la table
fff = bdd.TableDefs(bb).Fields(cc).Name
Cells(xya, 2).Value = fff
xya = xya + 1
Next
Next
'affiche les requètes présentes dans la base de données ainsi que leur champs
aaa = bdd.QueryDefs.Count
xya = 2
For bb = 0 To aaa - 1
ccc = bdd.QueryDefs(bb).Name
Cells(xya, 1).Value = ccc
Cells(xya, 1).Font.Italic = True
Cells(xya, 1).Font.Underline = xlUnderlineStyleSingle
Cells(xya, 1).Font.Bold = True
Cells(xya, 1).Font.ColorIndex = 3
xya = xya + 1
bbb = bdd.QueryDefs(bb).Fields.Count
For cc = 0 To bbb - 1
fff = bdd.QueryDefs(bb).Fields(cc).Name
Cells(xya, 1).Value = fff
xya = xya + 1
Next
Next
bdd.Close
end sub