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 :
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
Tout fonctionne à merveille sur ma machine sur laquelle Access est installé.
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 !