Bonjour à tous,
je développe en ce moment un petit outil en vba sur Excel, outil qui va lire et écrire des données dans une base Access existante.
Cet outil est destiné à être utilisé par plusieurs utilisateurs de ma boîte qui n'ont pas Access sur leur machine, d'où le choix de créer l'interface dans Excel.
Les accès à la base se font sur ce modèle :
Tout fonctionne à merveille sur ma machine sur laquelle Access est installé.
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 Public db As DAO.Database Public rs As DAO.Recordset Public strCritere As String Sub MaMacro() Set db = DBEngine(0).OpenDatabase(chemin_de_ma_base_de_donnees) Set rs = db.OpenRecordset("MaTable", dbOpenDynaset) strCritere = "[champ] LIKE " & Chr(34) & ce_que_je_cherche & Chr(34) rs.FindFirst strCritere If Not rs.NoMatch Then MsgBox rs.Fields(champ_que_je_veux_afficher).Value End If rs.Close: db.Close: Set rs = Nothing: Set db = Nothing End Sub
Je l'ai testé sur la machine d'un collègue qui n'a pas Access, et j'ai eu droit au joli message :
Erreur d'exécution '429':
Un composant ActiveX ne peut pas créer d'objet.
Vérification faite dans l'éditeur vba, les références "Microsoft Access 15.0 Object Library" et "Microsoft DAO 3.6 Object Library" sont bien présentes sur sa machine.
Je précise toutefois que je lui ai copié manuellement la librairie "Microsoft Access 15.0 Object Library" sur son PC car il ne l'avait pas.
Quelqu'un saurait me guider vers la solution ? (sachant que la solution d'installer Access sur toutes les machines n'est pas envisageable pour des raisons de license)
Merci d'avance !![]()
Partager