Conditionner l'accès à des feuilles Excel...

cs_SOLEO Messages postés 2 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 3 juin 2009 - 2 juin 2009 à 17:08
cs_SOLEO Messages postés 2 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 3 juin 2009 - 3 juin 2009 à 08:25
Bonjour tout le monde,

J'essai en vain de mettre en place un script VBA Excel.
 
Je souhaiterai conditionner l'accès à mes différentes feuilles par un mot de passe. Attention, je ne souhaite pas simplement interdire les modifications sur les feuilles mais bien en interdire l'affichage sans mot de passe par ex:

Mon classeur compte 3 feuilles (1/2/3)
A l'ouverture de mon document j'arrive sur la feuille 1, pas de problème...

Ensuite si je clique sur la feuille1 je veux qu'une fenêtre apparaisse et me demande le mot de passe de la feuille1, disons, XXXX, si le mot de passe saisi est correct ALORS la feuille 1 s'affiche.

Même chose pour ma feuille 2 sauf que le mot de passe sera différent du mot de passe de la feuille 1...

Voilà, merci pour votre aide

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
2 juin 2009 à 20:14
Salut
Par les menus, il n'est pas possible de masquer une feuille.
Par contre, tu peux y arriver par macro = code.

- Dans ThisWorkbook, tu crées une macro
   Sub Workbook_Open()
qui se déclenchera à chaque ouverture du classeur, à condition d'activer les macros.

- Dans cette Sub, tu pourras lancer l'affichage de ta UserForm dans laquelle tu donneras le choix à ton utilisateur de sélectionner la feuille à visualiser + le mot de passe associé.
A toi de comparer ce mot de passe saisi avec celui que tu auras défini.

- Quand le mot de passe est correct, tu fais un :
   Worksheet("Feuil1").Visible = xlSheetVisible

- Pour rendre à nouveau "invisible" ta feuille
   Worksheet("Feuil1").Visible = xlSheetHidden
Il faudra regarder de plus prêt (dans l'aide) ce que signifient les xlSheetHidden et xlSheetVeryHidden

Il va de soit que, dans Sub Workbook_Open(), il faudra rendre invisible toutes les feuilles que tu veux protéger
+ protéger l'accès au code des macros, sinon garre aux filous

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_SOLEO Messages postés 2 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 3 juin 2009
3 juin 2009 à 08:25
OKI,

Eh bien merci jack pour ta réponse... Je vais m'y employer et creuser ainsi la piste que tu m'as donné.

Merci :)
0
Rejoignez-nous