Macro qui s'éxécute sur un classeur différent

Médéric -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour le forum,

je bloque actuellement sur une possibilité d'Excel.

Est-il possible d'exécuter une macro1 contenue dans test.xlsm sur un autre classeur cl_beta.xls (exporté par script) sans écrire dans cl_beta.xls ?

je pensais avec ceci:
Application.Run "NomClasseur.xls!Module1.NomMacro"


mais je ne dois pas écrire de macro dans cl_beta.xls .... -_-'

Merci pour vos réponses :)

5 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Vous pouvez traiter les donnees de cl_beta.xls en lancant la macro1 de test.xlsm en ouvrant celui-ci. cl_beta.xls peut etre ouvert ou ferme ce n'est qu'une question de code VBA.

    A+
    0
  2. Médéric
     
    Bonjour F894009,

    mes 2 classeurs sont ouverts, mais je dois mal m'y prendre pour dire d'exécuter la macro1 (contenue dans test.xlsm) sur cl_beta.xls ...

    Workbooks.Open Filename:=ThisWorkbook.Path & "\test.xlsm"
    


    Merci

    ++
    0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Workbooks.Open Filename:=ThisWorkbook.Path & "\test.xlsm" Ce code est ecrit dans quel classeur????????
    0
    1. Médéric
       
      Bonjour,

      il est écrit nul part, mais je pensais mettre

      Workbooks.Open Filename:=ThisWorkbook.Path & "\cl_beta.xlsx"


      + code pr faire éxécuter macro1 contenue dans test.xls
      0
  4. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Sans spécification précise, une macro s'exécute sur la feuille active du classeur actif.
    Et si tu spécifie une feuille sans spécifier le classeur pareil : ça sera dans le classeur actif.
    Donc active ton classeur avec les données et lance ta macro. Ou bien active-le au début de ta macro.

    eric

    Jamais tu ne répondras à un mp non sollicité...
    Bon, ça c'est fait.
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour eriiic,

      Donc active ton classeur avec les données et lance ta macro C'est cela son soucis, lance la macro et que je voudrais qu'il nous dise: "la macro sera lancee par un bouton ou elle sera lancee a l'ouverture du fichier test.xlsm

      bye
      0
    2. Médéric
       
      Bonjour eriiic,

      elle se lancera à l'ouverture du fichier, dans
      Private Sub Workbook_Open()
      
      de macro1

      Merci

      ++
      0
    3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      As-tu lu ce que je t'ai écrit ?
      Et bien relis-le.
      Ce n'est pas moi qui t'es demandé comment elle se lançait.
      eric
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Ecam39 Messages postés 314 Statut Membre 9
     
    J'ai un peu le même soucis.
    La solution que j'ai trouvé, sans écrire de macro à chaque nouveau fichier ouvert, c'est d'exporter la macro dans un dossier.
    A chaque ouverture d'un nouveau document où sera utilisé le fichier excel, il suffit d'importer la macro depuis le dossier et de l'exécuter.

    Si votre fichier est toujours le même, importer la macro et enregistrer là pour qu'elle puisse être rattaché à votre fichier.
    0