Bonjour à tous !
Depuis ce matin, je seche sur la communication entre excel et access. Il y'a bien des FAQ et des Tutoriaux, mais aucun ne répond à mon probleme.
Voila la description:
J'ai crée une appli sous access (toto.mbd), qui envoie des données vers Excel.
Un fichier tata.xls s'ouvre donc automatiquement et l'utilisateur effectue d'autre manipulation dessus, jusqu'a (imprimer) et fermer ce fichier par le biais d'un bouton procédural, et juste avant la fermeture du fichier (tata.xls), Excel communique avec la base access (toto.mdb) en exécutant une requete d'action qui va faire un INSERT INTO dans une des tables avec des données contenu dans des cellules du fichier tata.xls.
Jusque la, pas de probleme, j'arrive a répondre a mes attentes sans trop de souci et avec du code VBA sur toto.mdb et tata.xls, en effet j'ai effectuer l'ensemble de mes phase de test avec succes sur un poste possedant Access 2003 et Excel 2003. (mon poste de travail).
Par contre, mon souci viens du fait que je dois aussi faire fonctionner ces 2 fichiers sur des poste en Windows XP, qui possede Excel 2003, mais qui n'ont pas Access ...
J'ai donc déployer sur un poste de test (ne possedant pas Access donc), le Runtime Microsoft access.
et voila mes résultats:
Apres installation avec succes du Runtime, le fichier toto.mdb deviens exécutable. Je l'ouvre, et j'obtiens bien ma communication avec tata.xls (qui s'ouvre aussi).
J'effectue mes manip sur tata.xls, et au final, qd je clique sur le bouton qui va lancer la requete SQL INSERT INTO contenu dans toto.mdb, j'obtiens un message d'erreur :
J'ai chercher un peu sur le net, et on signale sur des forums qu'il faut utiliser la référence Microsoft DAO 3.6."Un composant ActiveX ne peut pas créer d'objet. Erreur d'éxécution '429'"
Je l'active donc sur Excel mais pas sur access, car je n'ai toujours pas access sur le poste de test, et par l'intermédiaire du Runtime, on doit pas avoir access a VBA editor.
Meme apres l'installation de la référence DAO3.6 sur excel, j'ai toujours le meme probleme.
J'ai aussi essayer de rajouter des références du type Microsoft ActiveX vX.X, sous excel, mais toujours rien ...
-------------------------------------
J'en déduit avec défétisme que l'on ne peut pas communiquer d'excel (tata.xls) vers "access" (toto.mdb) ou plutot le runtime access.
Je laisse en commentaire mon code VBA sous excel, qui me permet de lancer la requete SQL sous toto.mdb
La ligne qui est en gras, est la ligne mise en surbrillance quand, apres le message d'erreur (Un composant ActiveX ne peut pas créer d'objet. Erreur d'éxécution '429') je clique sur déboguer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Dim MonAccess As New Access.Application MonAccess.OpenCurrentDatabase "\\h3msbs2003\BDC$\BDD_BDC.mdb" 'J'appelle la procédure nommé "insintBONDECOMMANDE" avec 2 parametres MonAccess.Run "insintBONDECOMMANDE", Sheets("DATA").Range("A10").Value, Sheets("DATA").Range("B10").Value MonAccess.Quit acquitsaveNone Set MonAccess = Nothing
Je rappel, que la meme manip fonctionne parfaitement entre Excel et Access , si access et non pas le Runtime est installé
Quelqu'un a t'il une idée pour résoudre mon probleme ???
Partager