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

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. 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
    1. 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
      1. Re,

        Workbooks.Open Filename:=ThisWorkbook.Path & "\test.xlsm" Ce code est ecrit dans quel classeur????????
        0
        1. 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
      2. Contributeur
        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. 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. Bonjour eriiic,

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

          Merci

          ++
          0
        3. Contributeur
          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
      3. 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