Différence entre SUB et PRIVATE SUB

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

misslilie18

XLDnaute Nouveau
Bonsoir,

Quelle est l'utilité exacte de déclarer en "private" une procédure?
J'ai lu sur un site que cela permettait de restreindre la procédure au module mais je ne comprends pas exactement ce que cela signifie...

Quelqu'un pourrait-il m'aider?

Merci d'avance
 
Re : Différence entre SUB et PRIVATE SUB

Bonsoir,

Déclarer en "Private" une procédure permet également de ne pas la faire apparaître dans la liste des macros lors de l'exécution d'une macro via le menu macro ou Alt+F8.

cela permettait de restreindre la procédure au module mais je ne comprends pas exactement ce que cela signifie.
Ceci veut dire que cette procédure (ou macro) ne peut être appelée que par une autre procédure se trouvant dans le même module et non par une procédure se trouvant dans un autre module.

Espérant avoir éclairé ta lanterne.
 
Re : Différence entre SUB et PRIVATE SUB

Bonjour misslilie, skoobi, le fil, le forum

Le fait de déclarer une procédure ou une fonction en private implique que tu ne peux l'appeler que dans le module où elle est implémentée.

En fait, c'est une question de conception ou d'implémentation.

Si ta procédure fait partie intégrante de ton programme, et qu'elle articule les informations, elle doit être déclarer soit "Vide", soit public (pour que tout le monde puisse y avoir accès)

En revanche, si tu ne t'en sers que pour simplifier le code (exemple: une fonction personnalisé qui renvoie une cellule), il vaut mieux la déclarer private pour qu'elle ne puisse être appelée depuis l'extérieur.

Dans l'idée, c'est ça, mais je me suis peut-être mal exprimé, n'hésite pas à demander si tu as besoin d'autres explications.

Cordialement,
thomas
 
Re : Différence entre SUB et PRIVATE SUB

Bonjour et merci pour les réponses que vous avez tenté de m'apporter!
Alors, voici ce que j'ai compris:
lorsqu'on déclare une macro en "private". Le nom de ma macro n'apparaîtra pas dans Outils/ Macro / Macros .... (Alt + F8)
Concrètement j'avais pu le constater lorsque pour me dépanner, PierreJean m'avais transmis un fichier qui comprenait une macro private, celle-ci n'apparaîssait pas dans (Alt + F8) et pour l'intégrer dans mon fichier, j'ai du créer un nouvelle macro dans mon fichier et faire un copier coller du code de sa macro, situé dans son fichier Affichage / Barre d'outils / Boîte à outils Contrôles / Visualiser le code.
Mais alors ce que je ne sais pas c'est "comment appeler de l'extérieur une macro qui n'a pas été déclarer en private"?
 
Re : Différence entre SUB et PRIVATE SUB

Bah, finalement je ne sais pas trop...
Suite à la phrase de Orodreth, je me suis imaginée "un autre fichier"
En revanche, si tu ne t'en sers que pour simplifier le code (exemple: une fonction personnalisé qui renvoie une cellule), il vaut mieux la déclarer private pour qu'elle ne puisse être appelée depuis l'extérieur.

Je crois que j'ai besoin d'exemple concret pour comprendre ...😱
 
Re : Différence entre SUB et PRIVATE SUB

Re,

voici un exemple qui permet d'executer la macro "macro1" (qui ne doit pas être "Private Sub") dans le fichier "fichier1" (qui doit être ouvert):

Code:
 Application.Run "'fichier1.xls'!Module1.Macro1"
Bien faire attention à la synthaxe: " (guillemet) puis ' (apostrophe).
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
286
Réponses
10
Affichages
799
Retour