Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Lancer une macro ACCESS depuis EXCEL dans un fichier que l'on vient de copier

Cekankonvaou

XLDnaute Junior
Bonjour à tous,

J'ai une base ACCESS dans laquelle j'exécute tous les jours à la même heure une macro d'import.

J'ai un gros soucis de temps d'exécution sur cette macro VBA.

Le problème ne vient la macro mais de l'endroit ou se trouve la base ACCESS :
*si je copie celle ci en local (sur mon PC), j'y exécute la macro en un temps raisonnable
*si je duplique la base sur le serveur ou elle se trouve et que j'y exécute la macro (donc sans autres personnes à y accéder), le temps explose

Le problème vient donc de son lieu de stockage. Pour tout un tas de raison, je ne peux pas le changer.

Je suis donc parti dans l'idée de faire un petit bout de code qui ferait les choses suivantes :

1-je duplique ma base sur le serveur (backup)
2-je déplace ma base sur mon PC
3-j'exécute la macro dans ma base
4-une fois qu'elle est finie, je remets la base à sa place

Pas génial, j'en conviens...mais pas beaucoup d'autres choix pour l'instant.


Mon problème survient quand je veux exécuter la macro de la base ACCESS depuis mon code VBA EXCEL
VB:
Sub toto()
Dim DBCopy As DAO.Database
Dim rs As DAO.Recordset
cheminbasecopie = "C:\test.accdb"
Set DBCopy = OpenDatabase(cheminbasecopie)
Application.Run ("'" & DBCopy.Name & "'!test")
End Sub

Ce code débouche systématiquement sur :
-une proposition de choix d'une des tables/requêtes de ma base,
-si je fais une sélection, l'import des données dans un EXCEL
-le message d'erreur suivant :
Erreur d'exécution '1004':
Impossible d'exécuter la macro "C:\test.accdb'!test'. Il est possible qu'elle ne soit pas disponible dans ce classeur ou que toutes les macros soient désactivées

Est ce que quelqu'un aurait une piste de résolution de ce problème???

Merci d'avance.

Bertrand
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…