Aller au contenu

[RESOLU] Lancer une macro Access depuis Excel


Hal2002

Messages recommandés

Bonjour a tous.

J'éxécute une macro Excel qui met en forme des fichiers textes.

Puis une macro Access qui reprend ces fichiers et les croisent.

Et enfin une macro Excel qui met le résultat en forme.

Mon probléme est le suivant, je souhaiterais lancer cette macro Access depuis ma macro Excel ce qui faciliterais beaucoup la tache de l'utilisateur final (Je clique sur le bouton du fichier excel et j'ai mon résultat direct.)

Voici ce que j'ai essayé :

' Application Access

Dim AppAccess As Object

' la base Access

Dim StrBaseAcc As String

' la macro Access a executer

Dim StrMacro As String

Sub Macro_Access()

'FONCTION : lance la macro Access 'Macro_Access'

'Définition des variables

StrBaseAcc = "D:\Liste Article\Macro\Liste Article.mdb" '''la base Access

StrMacro = "Creation Liste Article" '''le nom de la macro

' Execution

' Message barre des tâches Excel

Application.StatusBar = "Execution de la macro Access - Patientez !"

Application.ScreenUpdating = True

' On gère une instance d'Access

Set AppAccess = CreateObject("Access.Application.9")

' On ouvre la base de données

AppAccess.OpenCurrentDatabase StrBaseAcc, True

' Et on execute la macro Access

AppAccess.Run (StrMacro)

'on quitte l'objet Access

AppAccess.Application.Quit

Set AppAccess = Nothing

'mise à zéro barre des tâches

Application.StatusBar = False

End Sub

Voila et j'obtiens l'erreur suivante au momment du lancement de la macro Access

erreur d'execution 2517

MS Access ne peut pas trouver la procedure "Creation Liste Art" :yes:

Merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

C'est bon, je viens de trouver comment faire :

Déja changement de stratégie, j'ai rendu ma macro Access auto-executable (Pour se faire, la renommer tout simplement en Autoexec :yes: )

Puis sous excel :

Dim AppAccess As Object ' Application Access proprement dite

Dim StrBaseAcc As String ' Chemin vers la base

Sub Liste_Article()

Application.ScreenUpdating = False

Application.StatusBar = False

'

' Lancer Access

' 06/10/2004

StrBaseAcc = "D:\Liste Article\Macro\Liste Article.mdb"

Application.StatusBar = "Execution de la macro Access - Patientez !"

' On gère une instance d'Access

Set AppAccess = CreateObject("Access.Application.9")

' Ouvre la base de données

AppAccess.OpenCurrentDatabase StrBaseAcc, True

' Quitte Access

AppAccess.Application.Quit

Set AppAccess = Nothing

Application.StatusBar = False

Application.ScreenUpdating = False

Application.StatusBar = False

End Sub

et voila... J'en aurais bien baver. mais j'y suis arrivé :ouioui:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...