Rendre une fonction VBA inaccessible depuis le classeur
Résolu/Fermé
jespscej
Messages postés
68
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
3 mai 2020
-
Modifié par jespscej le 28/08/2014 à 16:09
jespscej Messages postés 68 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 3 mai 2020 - 28 août 2014 à 16:28
jespscej Messages postés 68 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 3 mai 2020 - 28 août 2014 à 16:28
A voir également:
- Rendre une fonction VBA inaccessible depuis le classeur
- Site inaccessible - Guide
- Fonction si et - Guide
- Facebook compte piraté inaccessible - Guide
- Comment rendre un fichier moins lourd - Guide
- Fonction moyenne excel - Guide
4 réponses
jespscej
Messages postés
68
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
3 mai 2020
17
28 août 2014 à 16:08
28 août 2014 à 16:08
Bonjour Maurice et merci de ta réponse.
Cependant ça ne résout pas mon problème !
En effet, mettre Private devant la fonction me la rend inaccessible depuis les autres modules, alors que j'ai justement dans ces autres modules des fonctions qui y font appel. Reste la solution de mettre toutes les fonctions dans le même module mais ça casse un peu mon organisation...
Mais, point positif : la fonction devient bien invisible dans les fonctions personnalisées dans l'assistant de fonctions. Elle reste cependant utilisable si je la rentre manuellement dans une cellule (ce que j'aimerais éviter...).
Je voudrais garder la possibilité d'appeler une fonction depuis un module vers un autre mais qu'elle soit inexistante du point de vue du tableur.
Après, peut-être que j'en demande trop !
Merci encore en tout cas. :-)
Cependant ça ne résout pas mon problème !
En effet, mettre Private devant la fonction me la rend inaccessible depuis les autres modules, alors que j'ai justement dans ces autres modules des fonctions qui y font appel. Reste la solution de mettre toutes les fonctions dans le même module mais ça casse un peu mon organisation...
Mais, point positif : la fonction devient bien invisible dans les fonctions personnalisées dans l'assistant de fonctions. Elle reste cependant utilisable si je la rentre manuellement dans une cellule (ce que j'aimerais éviter...).
Je voudrais garder la possibilité d'appeler une fonction depuis un module vers un autre mais qu'elle soit inexistante du point de vue du tableur.
Après, peut-être que j'en demande trop !
Merci encore en tout cas. :-)
jespscej
Messages postés
68
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
3 mai 2020
17
28 août 2014 à 16:28
28 août 2014 à 16:28
J'ai trouvé la réponse donc je la mets si ça peut aider un suivant.
Il faut déclarer Option Private Module en haut de module puis mettre Public devant la fonction à cacher dans le classeur.
Ainsi, la fonction :
- est appelable d'un module à l'autre ;
- n'est pas visible dans l'Assistant Fonction et dans les fonctions personnalisées du classeur ;
- reste utilisable dans le classeur pour peu que l'on connaisse son nom exact et ses arguments exacts et dans le bon ordre.
Je mets le sujet en Résolu.
Merci Maurice de ta deuxième réponse qui me rapprochait de la solution ; la troisième aurait été la bonne, j'en suis sûr ! :-)
Il faut déclarer Option Private Module en haut de module puis mettre Public devant la fonction à cacher dans le classeur.
Ainsi, la fonction :
- est appelable d'un module à l'autre ;
- n'est pas visible dans l'Assistant Fonction et dans les fonctions personnalisées du classeur ;
- reste utilisable dans le classeur pour peu que l'on connaisse son nom exact et ses arguments exacts et dans le bon ordre.
Je mets le sujet en Résolu.
Merci Maurice de ta deuxième réponse qui me rapprochait de la solution ; la troisième aurait été la bonne, j'en suis sûr ! :-)