Lancer une procédure Private dans un autre module

MJ13

XLDnaute Barbatruc
Bonjour à tous

Je cherche en VBA à mettre des procédures Private pour éviter d'en avoir trop de visible (avec alt+F8).

Mais comment puis-je lancer une procédure Private à partir d'un autre module ?

Merci d'avance :).
 

Pierrot93

XLDnaute Barbatruc
Re : Lancer une procédure Private dans un autre module

Bonjour Michel:)

pour moi, c'est cette ligne de code placé en tête de module qui permet de rendre "invisible" tes macros par le menu excel => outils => macro..
Code:
Option Private Module

rien n'empêche qu'à l'interieur de ce même module, les procédures soit "publiques" et de ce fait pourrront très bien être appelées par d'autres modules....

bonne journée
@+
 

Dranreb

XLDnaute Barbatruc
Re : Lancer une procédure Private dans un autre module

Bonjour.
Par définition une procédure private ne peut être appelée depuis un autre module.
Et... curieuse raison pour faire celà: Trop de procédures ?
Peut être avez vous trop de procédures différentes qui font toutes presque la même chose.
Essayez d'en faires une générale à paramétrer convenablement.
Cordialement
 

MJ13

XLDnaute Barbatruc
Re : Lancer une procédure Private dans un autre module

Bonjour Pierrot, Dranreb.

Merci beaucoup Pierrot, c'est tout à fait cela, il faudra que je m'en souvienne (c'est bon à savoir) :).

Dranreb: En fait c'est pour différencier mes types de procédures pour que le code soit plus lisible. Je préfère faire des petites routines qu'une seule difficile pour s'y retrouver :eek:.
 

JNP

XLDnaute Barbatruc
Re : Lancer une procédure Private dans un autre module

Bonjour le fil :),
pour moi, c'est cette ligne de code placé en tête de module qui permet de rendre "invisible" tes macros par le menu excel => outils => macro..
Code:
Option Private Module
Bien vu Pierrot ;) !
Je testais du côté des Functions (qui n'aparaissent pas en Alt+F8 mais qui apparaisse dans les formules :rolleyes:...).
Sinon, en mettant les Public Sub dans le code d'un USF, ça fonctionne aussi, mais je pense qu'un USF est déclaré Private Module de base :p...
Enfin, en testant ta solution, il semblerait que soit on peux la déclarer Public, et la Sub est appelée par son nom, soit en normal et la il faut préciser le module dans lequel elle est (Module2.Test par exemple).
Bonne journée :cool:
 

Pierrot93

XLDnaute Barbatruc
Re : Lancer une procédure Private dans un autre module

Re, bonjour JNP:)
Enfin, en testant ta solution, il semblerait que soit on peux la déclarer Public, et la Sub est appelée par son nom, soit en normal et la il faut préciser le module dans lequel elle est (Module2.Test par exemple).

qu'entends tu pas la.... je l'appelle directement par son nom, sans préciser le nom du module, les 2 procédures étant dans le même classeur....
Code:
Option Explicit
Option Private Module
Public Sub test()

ou :
Code:
Option Explicit
Option Private Module
Sub test()
 

Discussions similaires

Statistiques des forums

Discussions
314 121
Messages
2 106 128
Membres
109 495
dernier inscrit
jerome bonneau