Masquer le nom d'une plage Nommée Excel

Résolu/Fermé
L28 Messages postés 157 Date d'inscription mercredi 19 novembre 2008 Statut Membre Dernière intervention 27 octobre 2019 - Modifié par L28 le 6/05/2013 à 12:16
 Philippe - 18 mars 2018 à 07:31
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

eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
6 mai 2013 à 17:27
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
4
Exactement ce que je cherchais merci
0
bonobo47 Messages postés 142 Date d'inscription samedi 19 janvier 2013 Statut Membre Dernière intervention 14 août 2017 13
6 mai 2013 à 12:37
Protège tes feuilles ? Non ?

Tu travailles sous quelle version excel ?
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
6 mai 2013 à 12:48
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
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
Modifié par Mike-31 le 6/05/2013 à 13:10
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bonobo47 Messages postés 142 Date d'inscription samedi 19 janvier 2013 Statut Membre Dernière intervention 14 août 2017 13
6 mai 2013 à 14:20
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
0
L28 Messages postés 157 Date d'inscription mercredi 19 novembre 2008 Statut Membre Dernière intervention 27 octobre 2019 132
6 mai 2013 à 14:31
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...

0
L28 Messages postés 157 Date d'inscription mercredi 19 novembre 2008 Statut Membre Dernière intervention 27 octobre 2019 132
6 mai 2013 à 14:36
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...
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
Modifié par Mike-31 le 6/05/2013 à 14:59
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.
0
L28 Messages postés 157 Date d'inscription mercredi 19 novembre 2008 Statut Membre Dernière intervention 27 octobre 2019 132
7 mai 2013 à 09:09
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!
0