VBA : Créer un fichier avec certains onglets comportant des mots de passe

Richard33

XLDnaute Nouveau
Bonjour,

En tant normal, j'arrive plus ou moins à m'en sortir en lisant des astuces sur des codes de VBA déjà existant pour l'adapter à ma situation, mais la, après plusieurs lectures sur le sujet, je dois reconnaitre que cela dépasse mes compétences (ceci dit, je suis mauvais en VBA) ou que cela ne correspond pas forcément à mes attentes.

Après moult recherches, j'ai trouvé un fichier qui s'approche à ce que je recherche, j'ai apporté quelques légères modifications, mais il y a une limite qui me chagrine.

En effet, sur le fichier en question, j'aimerai avoir la possibilité d'avoir plusieurs mots de passe.
Par exemple, les personnes ont accès à 3 onglets sans mot de passe (onglet 3, 4 et 5)
Il y a un onglet accessible que par monsieur X à l'aide d'un mot de passe (onglet 1)
Il y a un onglet accessible que par monsieur Y à l'aide d'un mot de passe (onglet 2)

J'ai tenté de dupliquer le code en modifiant les champs, mais, j'ai eu des messages d'erreur.

Il y a également un second aspect qui me gène (mais clairement pas prioritaire car les personnes qui auront accès à ce fichier n'ont aucune connaissance sur Excel). En réalisant un clic droit sur l'onglet TM006, il est possible de faire afficher les onglets masqués ruinant ainsi le blocage par un mot de passe.

Je vous remercie par avance de vos réponses.
 

Pièces jointes

  • CommanButton1.xls
    66 KB · Affichages: 33

jp14

XLDnaute Barbatruc
Bonjour kingfadel, Richard33, le forum

Avec la même idée de kingfadel un code à tester.

pour "ThisWorkbook"
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("TM001").Visible = 2
Sheets("TM002").Visible = 2
Sheets("TM003").Visible = 2
Sheets("TM004").Visible = 2
Sheets("TM005").Visible = 2
End Sub

Pour le module 1

Sub Décache()
Dim nbressais As Byte
Dim Mdp
retour:
Mdp = InputBox("Entrez le mot de passe", "Avertissement : l'accès aux Feuilles est sécurisé ")
If Mdp = "" Then Exit Sub
If Mdp <> "" Then '"test" Then
Select Case Mdp
Case "Mdp1" ' mot de passe standart
Sheets("TM001").Visible = 2
Sheets("TM002").Visible = 2
Sheets("TM003").Visible = -1
Sheets("TM004").Visible = -1
Sheets("TM005").Visible = -1
Case "Mdp2"
Sheets("TM001").Visible = -1
Sheets("TM002").Visible = 2
Sheets("TM003").Visible = 2
Sheets("TM004").Visible = 2
Sheets("TM005").Visible = 2

Case "Mdp3"
Sheets("TM001").Visible = 2
Sheets("TM002").Visible = -1
Sheets("TM003").Visible = 2
Sheets("TM004").Visible = 2
Sheets("TM005").Visible = 2

Case Else
nbressais = nbressais + 1
If nbressais = 3 Then
MsgBox "Ce classeur va se fermer."
Sheets("TM001").Visible = 2
Sheets("TM002").Visible = 2
Sheets("TM003").Visible = 2
Sheets("TM004").Visible = 2
Sheets("TM005").Visible = 2
MsgBox "Mot de passe incorrect."

End If

End Select

End If
End Sub

A tester
 

Richard33

XLDnaute Nouveau
Je vous remercie de vos réponses.

J'ai tenté à partir de vos 2 aides de réaliser divers tests (dont modifier le nom d'un onglet par sommaire, de rajouter un onglet, de changer les mots de passe...). Je ne sais pas trop où j'ai raté ma manipulation mais quand j'active le mot de passe, et que l'onglet fait son apparition. Lorsque je clique sur le sommaire, il me redemande un mot de passe. En saisissant à nouveau le mot de passe, finalement, je n'accède pas à l'onglet en question
 

Pièces jointes

  • Copie de CommanButton1.xls
    81 KB · Affichages: 25

jp14

XLDnaute Barbatruc
Bonjour

Ci joint le fichier avec une autre méthode.
Le bouton avec ""Cacher les Feuilles" apparait que pour les feuilles cachées.
Avec xlSheetVeryHidden les feuilles ne sont visible que par macro.

A tester

JP14
 

Pièces jointes

  • Copie de Copie de CommanButton1.xls
    72 KB · Affichages: 28

Discussions similaires

Statistiques des forums

Discussions
314 634
Messages
2 111 429
Membres
111 133
dernier inscrit
dominique001