Protection du Gestionnaire de noms

Bonjour,

J'ai un fichier de plusieurs feuilles avec des formules de recherche comportant des noms de colonnes ou de cellules.

Exemple : compagnie, couleur, agrément, ....

Les formules sont protégées, mais pas le gestionnaire de noms, je pense que si une personne efface un nom du gestionnaire, les formules ne fonctionnerons plus ?

Ce que je viens de vérifier d'ailleurs.

Ma question : Peut-on protéger le gestionnaire de noms, et comment ?

Merci d'avance pour vos réponses.

Bonjour

Un extrait de ton fichier serait bien pratique

Crdlt

Bonjour Claudius91

En masquant tout simplement les noms créés dans le classeurs

Voici ce que j'utilise dans Private Sub Workbook_Open()

  ' Masquer les plages nommées
  If environ("username") <> "BrunoM45" Then
    On Error Resume Next
    For Each RngName In ThisWorkbook.Names
      RngName.Visible = False
    Next
    On Error GoTo 0
  End If

Il faut penser à les réafficher à la fermeture ;-)

A+

Bonjour à tous,

La premiere solution qui me vient a l'esprit

fichier==>options==>personaliser le ruban et je retire le gestionnaire de nom (en ayant appris a la remettre !)

Crdlmt

Bonjour à tous

A Joco 7915, Le fichier comprends beaucoup de noms de personnes, leur données perso, et excuse moi , mais je demande comment cacher les données du gestionnaire de noms, je ne vois pas en quoi, un extrait du fichier pourrait te servir.

A BrunoM45, Je ne connait rien au Visual Basic

A DjiDji59430 , ¨Pourquoi pas, mais je ne vois pas "personnaliser le ruban"

Bien cordialement à vous tous

capture d ecran 2024 02 08 152925

Bonjour,

Est-ce que le simple fait de masquer ces noms serait suffisant?

En jouant avec le Filtre du gestionnaire de noms, peut-être?

image

ça donnerait ça :

image

Au-delà, une personne malveillante réussira toujours à contourner toute protection...

Bonne fin d'apm

Au-delà, une personne malveillante réussira toujours à contourner toute protection...

Bonne fin d'apm

+1

Re

A cousinhub,

Effectivement, le filtre cache la liste des noms dans le gestionnaire, mais les noms réapparaissent aussitôt en ouvrant à nouveau le gestionnaire.

A DjiDji59430,

Sur OFFICE 2007 je n'ai pas "Personnaliser le ruban", mais "Personnaliser la barre d'accès rapide". Donc à priori pas la possibilité de modifier le ruban !!!

Re,

Ma solution est pourtant simple à mettre en place

ALT+F11 pour entrer dans l'éditeur VBA

Double clic sur ThisWorkbook pour afficher son code
Dans la partie droite choisir "Workbook" à la place de (Général) sur la liste déroulante encore à droite choisir "Open"

Dans la sub qui s'affiche, coller le code donné

image

Pour savoir quel nom il faut mettre, dans la fenêtre d'exécution CTRL+G, il faut saisir : ? environ("username") + Entrée

Là un nom s'affiche c'est celui qu'il faut mettre à la place de "BrunoM45" ou laissez celui-ci pour voir ce qui ce produit à l'ouverture du fichier

Ensuite dans la Sub Before close

Private Sub Workbook_BeforeClose(Cancel As Boolean)
 ' Afficher les plages nommées
  On Error Resume Next
  For Each RngName In ThisWorkbook.Names
    RngName.Visible = False
  Next
  On Error GoTo 0
End Sub

Voilà, vous pouvez fermer le fichier en l'enregistrant

J'espère que ce sera assez explicite

Bonjour BrunoM45

Voilà ce que j'obtiens avec ALT+F11

Je ne comprends pas

capture d ecran 2024 02 09 102533

En plus je suis allergique à l'anglais

Je viens de trouver en cliquant sur

capture d ecran 2

Bonsoir BrunoM45

Tout est en place, du moins je le pense, mais je ne vois pas comment cela fonctionne.

capture d ecran 2024 02 09 154052

Bonsoir BrunoM45

Tout est en place, tout moins il me semble, mais je ne vois pas comment cela fonctionne !

capture d ecran 2024 02 09 172051

Salut Claudius91

Vous n'êtes pas au bon endroit, les codes doivent être mis dans ThisWorkbook (comme indiqué précédemment)
cela doit ressembler à ceci

image

Voilà ce qui s'affiche quand le "username" est reconnu

image

Et voilà ce qui s'affiche quand il n'est pas reconnu

image

Voici le fichier

A+

Bonjour BrunoM45

Effectivement je pensais qu'il fallait que ces macros soient dans le fichier que je voulais traité.

Je vois que les 2 macros ne sont pas dans le même ordre que l'explication du départ, cela n'a peut-être pas d'importance.

Par contre ou faut-il enregistrer le fichier *.xlsm , car le remplacement de l'username par X n'a rien fait

Remplacement dans la phrase : If Environ("username") <> "closv" Then

ou sous Execution

capture d ecran 2024 02 10 124211

cela prouve que je ne suis pas très ferré en VBA

Salut Claudius91

Il faut effectivement que les macros soient dans le fichier utilisé

Celui donné, n'est qu'un fichier exemple et dans le code, il faut simplement remplacer "closv" par "x" pour le test

A+

Bonsoir BrunoM45

Je ne sais pas ou est l'erreur, mais ça ne fonctionne pas

Re,

Qu'est-ce qui ne fonctionne pas

A+

Oups! je viens de me rendre compte, que tu parles de masquer les plages données, j'ai tout à coup un doute, je me suis mal fait comprendre, je ne veux pas masquer la ou les colonnes , seulement les noms dans le gestionnaire de noms.

Ce qui ne marche pas c'est le masquage des noms avec leur positions dans le gestionnaire en changeant closv par x.

Rechercher des sujets similaires à "protection gestionnaire noms"