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 Discussion :

Appeler une macro d'un autre fichier excel correctement


Sujet :

VBA

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Analyste de risque
    Inscrit en
    Mai 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Analyste de risque

    Informations forums :
    Inscription : Mai 2015
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Appeler une macro d'un autre fichier excel correctement
    Bonjour,

    J' ai deux classeurs, depuis le premier, j'ouvre le second, y exécute une macro, le sauvegarde et le ferme.

    Classeur 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
        Dim Wbk1 As Workbook, Wbk2 As Workbook
        Set Wbk1 = ThisWorkbook
        folder = "C:\...\"
        file = "myFile.xls"
        Set Wbk2 = Workbooks.Open(Filename:=folder & file, UpdateLinks:=0)
        Application.Run file & "!Module4.test"
     
        Wbk2.Save
        Wbk2.Close
        Set Wbk2 = Nothing
        Set Wbk1 = Nothing
    End Sub
    Classeur 2 (j' ai mis l'ensemble du code en commentaire et j'en déduit que le problème ne vient pas de ce code) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub test()
     
    End Sub
    Le problème :
    Lorsque j'exécute le code une première fois, tout fonctionne mais une fois l'exécution terminée, impossible de relancer la macro sans avoir l'erreur :
    Run-time error '1004':
    Method: 'Open' of object 'Workbooks' failed
    A noter que lorsque je commente cette ligne, je peux lancer la macro normalement autant que je le veux, l'ouverture/fermeture se passe très bien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run file & "!Module4.test"

    Je pense donc que ma façon d’appeler une macro d'un autre classeur n'est pas la bonne, mais c'est ce que je trouve sur internet

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 598
    Points : 34 286
    Points
    34 286
    Par défaut
    Hello,

    une très très rapide recherche avec les mots clés macro autre fichier me donne :
    http://www.developpez.net/forums/d43...run-parametre/
    http://excel.developpez.com/faq/?page=VBA#Run

    A toi de jouer
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Analyste de risque
    Inscrit en
    Mai 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Analyste de risque

    Informations forums :
    Inscription : Mai 2015
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    C'est bien ce que j'avais codé.
    J'ai réessayé dans le doute et j'ai changé ma ligne, en enlevant la variable:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run ("RDOSPGP.xls!Module4.test")
    Pas mieux

    Peut être que cela vient du reste du code?

Discussions similaires

  1. [XL-2003] Faire appel à une cellule d'un autre fichier excel
    Par rafalemirage dans le forum Excel
    Réponses: 2
    Dernier message: 02/12/2009, 10h57
  2. Réponses: 4
    Dernier message: 30/11/2007, 08h55
  3. [VBA-E] une macro qui enregistre mon fichier Excel
    Par Djohn dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/03/2007, 11h47
  4. Réponses: 1
    Dernier message: 23/09/2006, 14h12
  5. [VBA-E]une macro unique pour plusieurs fichiers excel
    Par fanchic29 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/04/2006, 16h20

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