Gestion des modules

Madjer

XLDnaute Nouveau
Bonjour,

J'ai un petit problème, légèrement différents des autres cette fois-ci.
Je remercie d'avance celles/ceux qui liront la suite !;)

C'est très simple :

Dans un module1, j'ai une procédure (Sub) dans laquelle je sollicite une fonction (Function) personelle que j'ai écrite dans un module2.
Mes modules sont stockés dans 'PERSONNAL', le classeur de macros personnel, qui s'ouvre automatiquement à chaque lancement d'Excel.

Le problème est donc le suivant :

Dès que j'ouvre un nouveau excel (Nouveau_Classeur.xlsx), je ne peux utiliser ma procédure, car celle-ci appelle une fonction personnelle qui n'est pas stockée dans un module de ce classeur (je parle toujours de Nouveau_Classeur.xlsx). Je suis obligé de charger le module2 (celui qui contient ma fonction) dans le nouveau classeur pour ne pas avoir de problèmes..

L'idée étant de pouvoir appeller (via un "Call") la fonction du module2 dans le module 1.

Est-ce possible ?

J'espère avoir été clair !

Merci bien
 

Madjer

XLDnaute Nouveau
Re : Gestion des modules

Bonjour Robert,

Je viens d'essayer, cela ne fonctionne pas malheureusement.

Je pensais également à quelque chose de ce type là, même pourquoi pas :

Code:
Application.Run "PERSONAL.XLSB!Module1.FonctionPersonnelle"

Mais ça ne donne rien.
J'aurais au moins réussi à bien poser le problème, c'est déjà un premier pas.

Je reste ouvert à toutes propositions :D
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Gestion des modules

Bonjour Madjer, bonjour le forum,

Dans mon classeur de macro personnelles (dans le Module1) ce code :

Code:
Public Sub test()
MsgBox "Test"
End Sub
Dans le module1 d'un classeur vierge (pas encore enregistré) celui-ci :
Code:
Sub Macro2()
Application.Run "PERSONAL.XLSB!test"
End Sub
Je lance la macro 2 du classeur vierge et j'ai bien le message Test.
Je n'ai pas eu besoin de spécifier le module (Module1), seule la ligne :
Code:
Application.Run "PERSONAL.XLSB!test"
a été suffisante pour afficher le message...
Essaie avec :

Code:
Application.Run "PERSONAL.XLSB!FonctionPersonnelle"
 

Madjer

XLDnaute Nouveau
Re : Gestion des modules

Oui, tu as bien compris ce que j'essaie de faire, malheureusement, ça ne fonctionne pas.

En gros j'essaye de charger une fonction personnelle, stockée dans un module personnel, issue d'un classeur de macro personnel (PERSONNAL.XLSB), le tout sur un autre module (toujours du même classeur de macros). Ce dernier module abrite une procédure qui utilise cette fonction personnelle. J'aimerais donc la charger dans la procédure.
 
Dernière édition:

Discussions similaires

Réponses
13
Affichages
318
Réponses
7
Affichages
449

Statistiques des forums

Discussions
312 612
Messages
2 090 229
Membres
104 453
dernier inscrit
benjiii88