IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Exécuter une macro Excel stockée dans le répertoire XLStart


Sujet :

VBA Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 175
    Points : 129
    Points
    129
    Par défaut Exécuter une macro Excel stockée dans le répertoire XLStart
    Bonjour,
    j'ai récupéré sur le forum le code qui permet de lancer une macro Excel depuis Access. Tout fonctionne bien lorsque celle-ci est stockée directement dans le fichier BIP.xls
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Dim AppExcel, Wbk, Sht As Object
        Set AppExcel = CreateObject("Excel.Application")
        AppExcel.Workbooks.Open ("C:\BIP.xls")
        AppExcel.Run "test"
    Cependant, en réalité ma macro est stockée dans un fichier MacrosPerso.xls enregistré sous C:\Program Files\Microsoft Office\Office10\XLStart Et dans ce cas, le code VBA précédent ne fonctionne pas... car Access ne trouve pas la macro "test" (apparemment il n'ouvre pas MacrosPerso.xls)

    Comment résoudre ce cas proprement ?

  2. #2
    Membre averti Avatar de J.Michel
    Inscrit en
    Septembre 2007
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2007
    Messages : 279
    Points : 323
    Points
    323
    Par défaut
    Bonjour,

    As tu essayé d'ouvrir "MacroPerso.Xls" directement (à la place de "Bip.Xls") ?
    (\ _ /)
    (='.'=)
    L'erreur est humaine. Mais pour une véritable catastrophe il faut un ordinateur
    (")-(") Lorsque votre problème est solutionné, merci de cliquer sur

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 175
    Points : 129
    Points
    129
    Par défaut
    Citation Envoyé par J.Michel Voir le message
    As tu essayé d'ouvrir "MacrosPerso.Xls" directement (à la place de "Bip.Xls") ?
    Salut Michel,
    le fichier BIP.xls contient les données que je souhaite travailler et le fichier MacrosPerso.xls - qui s'ouvre d'habitude automatiquement à chaque fois que je lance Excel - contient la macro à exécuter.

    Finalement en forçant l'ouverture successive des 2 fichiers avec le code qui suit ça fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Dim AppExcel, Wbk, Sht As Object
        Set AppExcel = CreateObject("Excel.Application")
     
        With AppExcel
            .Workbooks.Open ("C:\Program Files\Microsoft Office\Office10\XLStart\MacrosPerso.xls")
            .Workbooks.Open ("C:\BIP.xls")
            .Run "MacrosPerso.xls!test"
        End With
    Ce que je ne comprends pas finalement c'est pourquoi lorsque j'ouvre mon fichier BIP.xls via l'explorateur le projet VBA MacrosPerso.xls est automatiquement ouvert alors que via le code ce n'est pas le cas...

  4. #4
    Membre averti Avatar de J.Michel
    Inscrit en
    Septembre 2007
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2007
    Messages : 279
    Points : 323
    Points
    323
    Par défaut
    Citation Envoyé par dut-dut Voir le message
    Ce que je ne comprends pas finalement c'est pourquoi lorsque j'ouvre mon fichier BIP.xls via l'explorateur le projet VBA MacrosPerso.xls est automatiquement ouvert alors que via le code ce n'est pas le cas...
    J'ai vérifié, il se passe exactement la même chose chez moi.
    Par contre je ne vois pas à quoi c'est dû. Le processus de lancement d'Excel doit être différent lorsqu'on l'appelle depuis le VB
    (\ _ /)
    (='.'=)
    L'erreur est humaine. Mais pour une véritable catastrophe il faut un ordinateur
    (")-(") Lorsque votre problème est solutionné, merci de cliquer sur

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 175
    Points : 129
    Points
    129
    Par défaut
    Citation Envoyé par J.Michel Voir le message
    Le processus de lancement d'Excel doit être différent lorsqu'on l'appelle depuis le VB
    C'est ce que je suppose aussi... j'aimerais bien qu'un modo passe nous donner son avis.

Discussions similaires

  1. [AC-2003] Exécuter une macro Excel depuis Access
    Par tarnx dans le forum VBA Access
    Réponses: 2
    Dernier message: 17/12/2009, 13h16
  2. [AC-2003] Exécuter une macro Excel depuis du code VBA
    Par denisw95 dans le forum VBA Access
    Réponses: 12
    Dernier message: 03/12/2009, 15h59
  3. exécuter une macro excel sous access
    Par smix13 dans le forum VBA Access
    Réponses: 10
    Dernier message: 03/02/2009, 08h51
  4. Exécuter une instuction SQL stockée dans une table
    Par Zouzou1er dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 19/11/2008, 21h16
  5. outre passer excel et quand même exécuter une macro excel : possible en VB ?
    Par chapeau_melon dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 08/11/2006, 20h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo