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

Macros et VBA Excel Discussion :

Lancer une macro d'un autre classeur


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2021
    Messages : 36
    Par défaut Lancer une macro d'un autre classeur
    Bonjour,

    J'aimerais exécuter une macro qui est présente dans un classeur de macro complémentaire dans un autre fichier Excel grâce à un fichier VBS (à des fins d'automatisation) , j'ai déjà, comme on me l'a suggéré, essayer d'écrire ma macro directement dans mon fichier VBS mais la requête prends 1H contre 5 minutes en l'exécutant directement sur Excel

    Voici mon code VBS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim Xl
    dim wk
    Set Xl = WScript.CreateObject("EXCEL.application")
    XL.DisplayAlerts = False
    Xl.Visible = True
    set Wk = XL.workbooks.open("C:\Users\wbakh\Documents\Test\test.xlsx")
    Xl.Run "test_macro.xlsm!test"
    xl.save
    xl.close
    Ma macro s'exécute bien mais ne s'enregistre pas ...
    Il m'affiche "l'opération 'save' n'a pas pu se faire ".

    J'ai du faire une erreur, mais je ne vois pas quoi...

    Merci par avance !
    W.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2021
    Messages : 36
    Par défaut
    Je vous montre l'erreur que j'ai :

    Nom : bug.png
Affichages : 170
Taille : 9,6 Ko

  3. #3
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    1 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 1 035
    Par défaut
    Bonjour.
    Dans ton code, ligne 3, "xl" représente l'application Excel.
    Or tu ne peux pas sauvegarder Excel, mais un fichier Excel. Ce n'est pas la même chose.
    Dit autrement, Save doit indiquer un fichier (un classeur) à sauvegarder et pas Excel.
    Cordialement.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2021
    Messages : 36
    Par défaut
    Citation Envoyé par laurent_ott Voir le message
    Dit autrement, Save doit indiquer un fichier (un classeur) à sauvegarder et pas Excel.
    Cordialement.
    J'ai réglé le problème en remplaçant xl.save par wk.save, merci ! Erreur bête de ma part

    J'ai un dernier petit problème, mon fichier "test_macro" qui contient ma macro reste ouverte après l'exécution de mon vbs ... y a-t-il un moyen de le fermer automatiquement ?
    Je ne comprends pas pourquoi ça fait cela étant donné qu'à aucun moment j'ouvre le fichier test_macro, j'exécute simplement la macro qui y est...

  5. #5
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    1 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 1 035
    Par défaut
    Pour exécuter ta macro Excel est bien obligé de lire ton fichier, donc d'une certaine manière de l'ouvrir. Tu pourrais tout simplement ajouter une instruction à la fin de ta macro pour dire de refermer le fichier.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2021
    Messages : 36
    Par défaut
    C'est ce que je fais mais il reste une fenêtre Excel vide ouverte, décidément c'est bizzare :

    Nom : 2.png
Affichages : 135
Taille : 19,8 Ko

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/01/2017, 12h02
  2. [XL-2013] Problème avec application.run pour lancer une macro d'un autre classeur
    Par motmot dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/08/2016, 12h13
  3. Lancer un UserForm d'un classeur depuis une macro d'un autre classeur.
    Par bruno.bel dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/03/2009, 22h38
  4. [VBA-E] Affecter une macro a un autre classeur
    Par Mac Twist dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/01/2007, 16h38
  5. Utilisation d'une macro d'un autre classeur
    Par madislak dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/07/2006, 14h00

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