Toutes les macros (procédures Sub) sont visibles dans la liste des macros sauf si elles ont au moins un argument

Pour diverses raisons il est préférable d’en cacher certaines pour éviter par exemple que l’utilisateur lance une macro qui doit être lancée par une autre procédure.

Comment cacher une procédure Sub ?

Il y a plusieurs possibilités

  • Si la procédure est dépourvue d’argument, en ajouter un qui est optionnel.
    Exemple : Sub maMacro(Optional monArgument)
  • Déclarer la procédure comme privée (Mot clé Private)
    Exemple : Private Sub maMacro()
    La procédure n’apparaît plus dans la liste mais elle n’est plus appelables depuis un autre module
  • Reste la dernière et meilleure solution, déclarer le module privé. Il suffit de placer cette déclaration  Option Private Module en tête de module (par exemple en dessous de la déclaration Option Explicit)