Il est possible d'accéder à des données externes depuis Excel. L'exemple suivant ouvre ba base de données D:\atelier\Source.MDB, la table T_Client, et recherche d'un enregistrement au sein de cette table
ATTENTION : Pour pouvoir utiliser les instructions DAO au sein d'Excel, il faut faire Outils/Réréfences et cocher la case "Microsoft DAO 3.5 Object Library", sinon, on n'aura pas accès à des instructions comme RecordSet, ou OpenDataBase, et une erreur de compilation se produira.
Dim BaseSource As Database
Dim TableClient As Recordset
Set BaseSource = DBEngine.Workspaces(0).OpenDatabase("d:\atelier\Source.mdb")
Set TableClient = BaseSource.OpenRecordset("T_Client", dbOpenDynaset)
TableClient.FindFirst ("NomClient = 'Kunn'")
MsgBox TableClient("Prenom")
TableClient.Close
BaseSource.Close
Set BaseSource = Nothing
Set TableClient = Nothing
Global BDDExemple As Database
Global TBLClient As Recordset
Sub ImportationExempleMDB()
OuvertureBase
TBLClient.MoveFirst
Range("A1").Select
While Not TBLClient.EOF
ActiveCell = TBLClient("NomClient")
TBLClient.MoveNext
ActiveCell.Offset(1, 0).Range("A1").Select
Wend
' Range("A2").Value = "Test"
FermetureBase
End Sub
Sub OuvertureBase()
Set BDDExemple = DBEngine.Workspaces(0).OpenDatabase("d:\atelier\Exemple.mdb")
Set TBLClient = BDDExemple.OpenRecordset("T_Client", dbOpenDynaset)
End Sub
Sub FermetureBase()
TBLClient.Close
BDDExemple.Close
Set BDDExemple = Nothing
Set TBLClient = Nothing
End Sub