Comment exécuter plusieurs macros d'accès à partir d'une application ou d'une autre base de données

    L'exemple ci-dessous montre comment nous pouvons exécuter un accès à une macro à partir d'une autre application ou base de données en utilisant leAutomatisation OLE.

    Nous effectuons les étapes suivantes :

    • créons deux bases de données Access en les appelant TestDB.mdb et TestDB2.mdb
    • dans la première base de données TestDB.mdb, nous créons une macro qui l'appelle TestMsg avec l'action suivante : "Test Macro" Fenêtre de message
    • dans la deuxième base de données TestDB2.mdb, nous créons une autre macro appelée TestMsg avec l'action suivante : Fenêtre de message : "Test Macro2"
    • dans l'application que vous utiliserez, choisissez parmi les références Bibliothèque d'objets Microsoft Access (à partir de la version 8.0)

    Comment exécuter plusieurs macros d'accès à partir d'une application ou d'une autre base de données



    Créons le Sub suivant :

    Sub RunMacroX() Dim objACC As New Access.Application
    Set objACC = GetObject("C:TestDB.mdb") 'ouvrir la première base de données objACC.DoCmd.RunMacro ("TestMsg") 'exécuter la macro objACC.Quit Set objACC = GetObject("C:TestDB2.mdb") 'ouvrir la deuxième base de données objACC.DoCmd.RunMacro ("TestMsg") 'exécuter la macro objACC.Quit Définir objACC = Rien
    End Sub

     

    Si vous obtenez une erreur comme celle-ci : "L'action ExécuterMacro a été annulée. Erreur 2501"Ou"L'action ExécuterMacro a été annulée" .


    L'erreur est due à l'existence d'une déclaration Exit Macro ou Stop Macro. Si vous constatez que, même en présence de l'erreur, la macro a terminé son activité, vous pouvez très bien utiliser leOn Error Resume Next au début de Sub.


    Testé sur Office 2003 et Office 2007.

    ajouter un commentaire de Comment exécuter plusieurs macros d'accès à partir d'une application ou d'une autre base de données
    Commentaire envoyé avec succès ! Nous l'examinerons dans les prochaines heures.