Appelle d'une macro d'un autre classeur

jeromegmc

XLDnaute Occasionnel
Bonjour à tous,

Je souhaiterais appeler la macro "run" du "Classeur2" à partir du "Classeur1", quelle est la syntaxe pour cet appelle?

Je pensais à un :
call Workbooks("Classeur2").run

mais sans succès.


Petite info, mon "Classeur2" est vérouillé pas un mot de passe au niveau du projet VBA, cela pose un pb?


Merci d'avance.


A+
 

jeromegmc

XLDnaute Occasionnel
Re : Appelle d'une macro d'un autre classeur

Merci pour le pdf, cependant je connaissais et cela ne résouds pas mon pb.


En fait le "Classeur2" protégé par un mot de passe dans le projet VBA, n'est pas de moi et je n'ai pas le mot de passe, donc j'ai un fichier excel dans lequel je ne peux pas faire de VBA.


Ce fichier fait appelle à un soft de calcul, c'est donc assez complexe, je veux donc pouvoir utiliser ce fichier mais à partir d'un autre fichier "Classeur1".

Je connais les noms des macro du fichier "Classeur2" car dans ce fichier il y a des boutons qui se sont vus affecter des macros.


D'ou ma question : comment apeller la macro "run" qui se trouve dans le fichier "Classeur2" à partir du "Classeur1"?



A+
 

myDearFriend!

XLDnaute Barbatruc
Re : Appelle d'une macro d'un autre classeur

Bonjour jeromegmc, CBernardT, porcinet82,

En complément de la réponse judicieuse de CBernardT...

Soit 2 classeurs (Classeur1.xls et Classeur2.xls) ouverts et une macro typée "Public", nommée "Test" et située dans un module de code standard du Classeur2.xls,

Tu peux appeler cette procédure depuis le classeur1.xls de 2 manières :
  • La méthode la plus simple :
    Code:
    [SIZE=2]Application.Run "Classeur2.xls!Test"[/SIZE]
  • Une aute méthode :
  1. Il convient tout d'abord de nommer le VBAProject du Classeur2 par menu Outils/Propriétés de VBAproject.../Nom du projet : remplacer "VBAProject" par le nom que tu veux.
  2. Créer depuis le projet VBA du Classeur1 une référence au Classeur2 par menu Outils/Références... : cocher le nom que tu viens de donner au projet du Classeur2.
  3. Tu peux maintenant appeler la macro Test depuis le Classeur1 en l'appelant simplement par son nom comme pour une procédure "classique" du dit-classeur.
Cordialement,
 

jeromegmc

XLDnaute Occasionnel
Re : Appelle d'une macro d'un autre classeur

Ok merci.

La première solution marche bien, la deuxième est intéressante et je la garde en tête, cependant elle ne marche pas dans mon cas car le projet VBA est vérouillé par un mot de passe.


A+
 

porcinet82

XLDnaute Barbatruc
Re : Appelle d'une macro d'un autre classeur

re, Salut Didier,

Juste pour dire a Jerome qu'il existe un utilitaire nommé Acyd sur le site de nos confrères de chez Veriti qui permet de cracker les mots de passe de projet vba. Tu le trouveras ici

@+
 

myDearFriend!

XLDnaute Barbatruc
Re : Appelle d'une macro d'un autre classeur

Re,

jeromegmc à dit:
... la deuxième est intéressante et je la garde en tête, cependant elle ne marche pas dans mon cas car le projet VBA est vérouillé par un mot de passe.
Normalement, que le projet VBA du Classeur2 soit verrouillé ou non, cela n'empêche pas le fonctionnement de la 2ème méthode. Dans l'exemple que je donnais, il convenait de renommer le VBAproject du classeur2 mais c'était juste dans le but de pouvoir le retrouver dans la liste des références après coup et d'éviter également les éventuels doublons nommés "VBAproject" dans cette liste... Si tu sais retrouver ton "Classeur2" dans cette liste alors il convient juste de cocher la référence correspondante dans la liste sans avoir à modifier ce projet verrouillé.

Cordialement,
 

myDearFriend!

XLDnaute Barbatruc
Re : Appelle d'une macro d'un autre classeur

Re,

Je n'avais pas vu ton post porcinet82...
Tu vois, d'habitude je t'aime bien... mais là, je trouve ton post tout simplement scandaleux et je me permets de te rappeler qu' Acyd n'a jamais été conçu dans ce but ! Il n'a jamais été question sur VériTi d'encourager les utilisateurs à "déplomber" le projet qu'un AUTEUR a jugé bon de verrouiller... Il s'agit d'un utilitaire porcinet82 ! Chacun l'utilise comme il l'entend, mais proposer à tout va et à tous de piller la propriété d'autrui, je trouve cela inadmissible.

Bonne journée.
 

porcinet82

XLDnaute Barbatruc
Re : Appelle d'une macro d'un autre classeur

re Didier,

Je m'excuse, je n'avais pas vu cela sous cet angle, je part du principe que si Jerome possède ce classeur, il peut regarder le code. De plus, je ne pensais pas a mal en proposant cette utilitaire, mais il me semble que regarder le code d'un projet n'est pas interdit

Je n'ai pas proposé cela pour "déplomber" le projet qu'un AUTEUR a jugé bon de verrouiller comme tu le dis, mais plutot dans le but de donner une solution a Jerome pour voir le travail que l'auteur de ce projet a fait et ainsi pourquoi pas, faire s'il le souhaite quelques modifications ou tout simplement apprendre en regardant le code.

Je m'excuse une fois de plus :( :( :(

@+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 324
Membres
103 178
dernier inscrit
BERSEB50