Nommer et onglet et mot de passe

Salut les pros !

Deux questions à vous soumettre :

1. Je souhaite nommer automatiquement un onglet du nom d'une cellule de cet onglet, C5 par exemple.

Sachant que C5 est une formule. Comment faire ?

2. Je souhaite que le nom de l'onglet soient visible mais qu'on ne puisse y entrer que via un mot de passe qui lui aussi se trouve dans une cellule de cet onglet, C6 par exemple.

Sachant que C6 est une formule. Comment faire ?

Tout grand merci ! Belle journée !

Bonjour Christophe, bonjour le forum,

Si C5 est une formule je verrai bien l'événementielle Calculate dans l'onglet :

Private Sub Worksheet_Calculate()
Me.Name = Me.Range("B5").Value
Me.Protect Password:=Me.Range("C6")
End Sub

Mais il est toujouts dangereux de nommer un onglet avec la valeur d'une cellule car elle peut contenir des caractères interdits ou bien avoir le même nom qu'un onglet déjà existant... Il faudra je pense un gestion d'erreurs...

Bonjour Christophe, bonjour le forum,

Si C5 est une formule je verrai bien l'événementielle Calculate dans l'onglet :

Private Sub Worksheet_Calculate()
Me.Name = Me.Range("B5").Value
Me.Protect Password:=Me.Range("C6")
End Sub

Mais il est toujouts dangereux de nommer un onglet avec la valeur d'une cellule car elle peut contenir des caractères interdits ou bien avoir le même nom qu'un onglet déjà existant... Il faudra je pense un gestion d'erreurs...

Cela ne fonctionne pas … Rien ne se passe. Qu'est-ce que j'oublierais ??

Re,

T'as mis le code où ?!... Sinon envoie le fichier on y verra plus clair.

Re,

T'as mis le code où ?!... Sinon envoie le fichier on y verra plus clair.

Clic droit sur l'onglet -> Visualiser le code.

Worksheet - Calculate

Si c'est pas clair, j'envoie le fichier.

Re,

Si c'est clair. Tu l'as mis au bon endroit, mais sans fichier difficile de t'en dire plus!....

Re,

Si c'est clair. Tu l'as mis au bon endroit, mais sans fichier difficile de t'en dire plus!....

Le voici. Le premier onglet doit donc s'appeler Sophie automatiquement et le mot de passe pour y accéder est en B8 du même onglet.

Merci.

Re,

En effet il ne se passe rien car l'onglet n'est pas recalculé et par conséquent l'événementielle Calculate n'est pas lancée.

Essaie comme ça, au changement de sélection de cellules. Le problème c'est ça va agir tout le temps...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Name = Me.Range("B6").Value
Me.Protect Password:=Me.Range("B8")
End Sub

Re,

En effet il ne se passe rien car l'onglet n'est pas recalculé et par conséquent l'événementielle Calculate n'est pas lancée.

Essaie comme ça, au changement de sélection de cellules. Le problème c'est ça va agir tout le temps...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Name = Me.Range("B6").Value
Me.Protect Password:=Me.Range("B8")
End Sub

Hello !

Ça marche super !

La protection de la feuille aussi mais … j'aurais souhaité que l'onglet ne soit visible qu'à celui qui introduit le mot de passe. Ici, personne ne peut modifier mais on peut lire, ce que je voudrais éviter.

Grand merci à toi.

Belle journée.

Re,

Alors c'est pas du tout comme ça qu'il faut procéder. Au départ, tous (ou une partie) des onglet sont masqués et protégés par mots de passe. Une UserForm demande alors à l'utilisateur le login et le mot de passe. En fonction du résultat, si il y a correspondance, les onglets autorisés à tel ou tel utilisateur s'affichent. Tu trouveras une multitude d'exemples traitant ce sujet...

Bonjour ThauThème,

J'ai encore une question dans le même contexte de ce sujet.

Dans les messages précédents, tu m'as expliqué comment nommer automatiquement un onglet du nom d'une des cellules de cet onglet. Par exemple en C5 :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

Ça fonctionne bien.

Deux problèmes toutefois :

- Le nom de l'onglet ne change pas automatiquement quand le contenu (il vient d'une autre page) de la cellule C5 change. Il faut cliquer une fois dans la feuille.

- J'ai fait une simple macro enregistrée qui affiche et une autre qui masque tous les onglets d'un coup via un bouton. Je voudrais que cela puisse fonctionner même si le nom de l'onglet change d'une fois à l'autre.

Pour afficher :

Sheets("KINON").Select

ou pour masquer

Sheets("KINON").Select

ActiveWindow.SelectedSheets.Visible = False

Ma macro ne fonctionne plus puisqu'elle reste bloquée sur des noms qui ont disparu au profit d'autres ?

Une idée ?

Merci d'avance.

Rechercher des sujets similaires à "nommer onglet mot passe"