Hello,
J'ai un code VBA pour disons copier une colonne de ma base de donnée bd1.mdb dans un ficher Excel ouvert.
Le souc, c'est que ça ne fonctionne pas et je ne comprends pas mon erreur. De manière générale, comment aller puiser dans Access depuis Excel?
Merci
voilà le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Private Sub Workbook_Open() Const ML_PATH = "path to bd1" Const ML_QUERY = "sql query" Call LancementRequêteAccess End Sub Function LancementRequêteAccess() 'variable objet affectée à l'application Access Dim oAccesS As Access.Application 'variable pour la base de donnée Dim db As DAO.Database 'variable objet requête Dim qdf As QueryDef 'variable objet recordset Dim rst As DAO.Recordset 'creation d'une instance Access par automation Set oAccesS = CreateObject("Access.Application") 'chargement de la BDD oAccesS.OpenCurrentDatabase ML_PATH 'affectation d'une référence à la BDD Set db = oAccesS.CurrentDb 'affectation d'une référence à la requête Set qdf = db.QueryDefs(ML_QUERY) 'lancement de la requête et création du jeu d'enregistrements Set rst = qdf.OpenRecordset(dbOpenSnapshot) 'écriture du jeu d'enregistrement à partir de la cellule A1 'de la feuille "Feuil1" Worksheets("Feuil3").Range("A1").CopyFromRecordset rst 'libération de la mémoire Set rst = Nothing Set db = Nothing End Function
Partager