Conditionner affichage onglet / mot de passe

pticoni -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je souhaite conditionner l'affichage d'un onglet par un mot de passe.
L'objectif est de réunir dans un seul fichier des onglets saisis par différents utilisateurs. Chaque utilisateur est maître de son onglet mais ne doit pas pouvoir consulter les autres onglets pour des raisons de confidentialité.

Exemple : l'utilisateur ouvre le fichier excel et souhaite afficher "son" onglet pour le mettre à jour. Il rentre alors son mot de passe en utilisant par exemple la fonctionnalité de protection d'un onglet (ou autre solution permettant de saisir un mot de passe). La validation du mot de passe entraîne l'affichage d'un onglet précis que l'on doit pouvoir relier au mot de passe.

Pour info, j'ai commencé à bidouiller ce bout de code (récupéré sur ce forum) pour arriver à mes fins, en vain :

Sub Déprotection()
textetitre = InputBox(Title:="Bonjour", _
Prompt:="Veuillez Saisir le code d'accès.")
If textetitre = "titi" Then
Worksheets(1).Unprotect Password:="titi"
Else
msg = "Mot de passe incorrect."
StyleBoîteDialogue = vbOKOnly + vbQuestion
Title = "Accès réglementé."
réponse = MsgBox(msg, StyleBoîteDialogue, Title)
Exit Sub
End If
End Sub

Merci d'avance de votre aide et de vos conseils !

Pticoni
A voir également:

1 réponse

pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
Salut,
Je pense qu'il faut dans un premier temps masquer toutes tes feuilles puis faire quelque chose dans ce genre là :
Cette procédure fonctionne si le mot de passe est le nom de l'onglet.

Dim mdp As String
Dim Ws As Integer
mdp = InputBox("Veuillez saisir votre mot de passe", "Bonjour")
For Ws = 2 To Sheets.Count
If Sheets(Ws).Name = mdp Then
Sheets(mdp).Visible = True
Sheets(mdp).Activate
ActiveSheet.Unprotect
Exit Sub
End If
Next
MsgBox ("Mauvais mot de passe")
0