Hal2002 Posté(e) le 5 octobre 2004 Partager Posté(e) le 5 octobre 2004 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" Merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
Hal2002 Posté(e) le 6 octobre 2004 Auteur Partager Posté(e) le 6 octobre 2004 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 ) 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é Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.