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

Médéric -  
eriiic Messages postés 25847 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 :)


A voir également:

5 réponses

f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
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
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
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Re,

Workbooks.Open Filename:=ThisWorkbook.Path & "\test.xlsm" Ce code est ecrit dans quel classeur????????
0
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
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
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
Médéric
 
Bonjour eriiic,

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

Merci

++
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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