Pour récupérer les noms de ta BD 'source' tu ajoute une
référence à Microsoft DAO 3.x object library et:
Dim BD1 As Database
Dim iCmpt As Integer
Dim TD1 As TableDef
Dim Fld1 As Field
Dim RS1 As Recordset
Set BD1 = DBEngine.OpenDatabase("c:\windows\desktop\x.mdb")
Set TD1 = BD1.CreateTableDef("tblNomsTables")
Set Fld1 = TD1.CreateField("NomsTables", dbText, 50)
TD1.Fields.Append Fld1
BD1.TableDefs.Append TD1
Set TD1 = Nothing
Set Fld1 = Nothing
Set RS1 = BD1.OpenRecordset("tblNomsTables", dbOpenTable)
For iCmpt = 1 To BD1.TableDefs.Count
Debug.Print BD1.TableDefs(iCmpt - 1).Name
RS1.AddNew
RS1.Fields("NomsTables") = BD1.TableDefs(iCmpt - 1).Name
RS1.Update
Next iCmpt
RS1.Close
BD1.Close
Naturellement, il n'y as pas de gestion d'erreur dans ce code...