Masquer le nom d'une plage Nommée Excel [Résolu/Fermé]

Signaler
Messages postés
157
Date d'inscription
mercredi 19 novembre 2008
Statut
Membre
Dernière intervention
27 octobre 2019
-
 Philippe -
Bonjour,

J'ai effectué un mini programme sur Excel qui pour des raison de lisibilité et de facilité m'a nécessité par mal de plages nommées au point que la liste des plages nommées est très importante.

Cependant j'aimerai que l'utilisateur, qui a envie de regarder dans la liste déroulante des plages nommées, ne puisse pas voir ces noms puisqu'elle font parties d'une feuille dont il n'a pas accès.

Je voulais donc savoir si on pouvait cacher le nom des plages nommées. Soit par exemple en les rendant visibles uniquement sur leur feuille respective ou en les cachant directement.

Merci d'avance pour votre réponse!

9 réponses

Messages postés
23484
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
14 septembre 2020
6 344
Re,

une solution à ton pb :
Private Sub masquerNoms()
    'masque tous les noms commençant par "z_"
    Dim nom As Name
    For Each nom In ActiveWorkbook.Names
        If Left(nom.Name, 2) = "z_" Then nom.Visible = False
    Next nom
End Sub

Et ils restent utilisables dans les formules.
J'ai fait le choix qu'ils commencent tous pareil pour ne pas à avoir à les lister dans la macro mais tu peux faire autrement.
Le principe est :
ActiveWorkbook.Names("nom").visible=false

eric
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60621 internautes nous ont dit merci ce mois-ci

Exactement ce que je cherchais merci
Messages postés
144
Date d'inscription
samedi 19 janvier 2013
Statut
Membre
Dernière intervention
14 août 2017
9
Protège tes feuilles ? Non ?

Tu travailles sous quelle version excel ?
Messages postés
23484
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
14 septembre 2020
6 344
Bonjour,

pas d'idée pour l'instant pour les masquer mais tu peux commencer les noms que tu ne veux pas voir par z pour qu'ils soient tous en fin de liste.

eric
Messages postés
17226
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 septembre 2020
4 228
Salut,

Les masquer complétement je ne crois pas possible, par contre on peut limiter l'affichage dans la barre d'adresse.
exemple nommer un plage A1:A20 titi
ensuite nommer la dernière cellule A20 exemple toto
ouvrir le gestionnaire des noms activer la plage nomme titi que l'on active

=Feuil1!$A$1:$A$20
remplacer la borne de fin par le nom de la dernière cellule
=Feuil1!$A$1:toto
la plage nommée titi n'est plus visible dans la barre d'adresse

sur le même principe tu peux saisir les bornes de ta plage nommée dans une cellule exemple en M1 tu saisis (la colonne peut être masquée sur mettre sur un onglet différent et rendre invisible la feuille

Feuil1!$A$1:$A$20

et dans le gestionnaire nommer la plage et la formule est =INDIRECT($M$1)

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
Messages postés
144
Date d'inscription
samedi 19 janvier 2013
Statut
Membre
Dernière intervention
14 août 2017
9
J'ai vérifié, si tu protèges tes feuilles (Onglet révision, protéger la feuille) personne ne verra tes formules donc tes plages
Messages postés
157
Date d'inscription
mercredi 19 novembre 2008
Statut
Membre
Dernière intervention
27 octobre 2019
126
Bonjour,

Merci pour vos réponses!

J'avoue que les deux idées sont intéressantes, entre indexer les nom à l'aide d'une lettre et créer des cellules masques cela peut être bien utile pour dépanner.

Le soucis c'est que j'ai déjà essayé le INDIRECT et cela m'avait fait une belle usine à gaz vu qu'a chaque modification du tableau il fallait rentrer de nouveau toutes les adresses. (Je suis en mode découverte d'excel on va dire)

Pour les lettres j'avoue que cela rendra la liste plus lisible mais les listes resteront visibles.

Je trouve un peu dommage que le mode veryHidden ne masque pas tous les éléments en rapport avec la feuille masquée...

Messages postés
157
Date d'inscription
mercredi 19 novembre 2008
Statut
Membre
Dernière intervention
27 octobre 2019
126
Bonjour! J'ai protégé mes feuilles, et même masquées certaines.
Je travaille sur 2010 mais le tableur doit être compatible excel 2003... J'ai appris malheureusement qu'il n'y avait pas que le xlsx comme différence...

Ce que j'ai fait c'est créer une feuille "sauvegarde" qui permet de conserver certains éléments même lors de la fermeture du fichier.

Pour cela j'ai créer un plage NOM (qui permet d'être utilisée dans une cellule liste)
Une plage Position (qui permet au programme de retrouver la position de la sauvegarde)
et deux trois autres trucs qui permettent de rendre le système de sauvegarde plus "performant"
Cette feuille sauvegarde est cachée et protegée au niveau de l'interface utilisateur.
Mais dans la liste des noms on retrouve toujours ces listes...
Messages postés
17226
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 septembre 2020
4 228
RE,

La protection de la feuille cache les formules "oui" mais ne cache pas les noms des plages nommées et sont accessible depuis la barre d'adresse ou le gestionnaire des noms

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
Messages postés
157
Date d'inscription
mercredi 19 novembre 2008
Statut
Membre
Dernière intervention
27 octobre 2019
126
Merci Eriiiiiiiic!!
Ça marche du tonnerre!
J'avoue que là oui je ne pourrais pas appliquer la première méthode ça me ferai trop de noms à modifier. J'y penserai pour un prochain classeur

En tout cas milles merci à vous tous pour votre aide! En espérant que cela serve à d'autres!