Autoriser l'accès à une feuille par mot de passe

J

juliette

Guest
Bonjour à toutes et à tous,

Je sollicite votre aide afin de pouvoir sécuriser un accès à certaines feuille d'un classeur excel.


Je souhaiterai autoriser l'accès à une feuille à différentes personnes selon un mot de passe attribué…

en effet, à partir de la feuille 1, une boite de dialogue invite l'utilisateur à renseigner son prénom (Toto, Fifi ou Coco) et un code (10 pour Toto, 20 pour Fifi, 30 pour Coco).

Si les données sont corectes, la feuille de l'utilisateur s'affiche... sinon un message invite l'utilisateur à recommencer.

Auriez-vous une solution?

merci d'avance...

Juliette
 

Pièces jointes

  • MotDePasse.zip
    2.2 KB · Affichages: 44
  • MotDePasse.zip
    2.2 KB · Affichages: 48
  • MotDePasse.zip
    2.2 KB · Affichages: 35
P

Pascal76

Guest
Bonjour Juliette

je ne sais pas si cela réponds à ta question mets regarde ce code

dans la feuille 1 je lance DemandePWD et je récupère le mot de passe

Public toto As Integer

Sub DemandePWD()
toto = InputBox("Code?")
End Sub


Dans la feuiile 2 avec ce code elle ne peut s'ouvir que si le mot de passe est 10 sinon retour feuille 1

Private Sub Worksheet_Activate()
If toto = 10 Then
Else
Sheets("feuil1").Select
End If
End Sub


Il suffit de le faire pour chaque

Pascal
 
J

juliette

Guest
Je te remercie Pascal pour ta solution...

Je rencontre tout de même un petit problème...

Je ne parviens pas à l'appliquer correctement!

Pourrais-tu STP, si cela ne te dérange pas, utiliser mon fichier joint précédemment et adapter le code pour au moins 2 feuilles sur les 3...

merci encore
 
J

juliette

Guest
c'est exactement le principe que je veux!

simplement peut-on apporter 2 modifications?

en effet, si l'utilisateur clique sur "ANNULER" lorsqu'on lui demande d'entrer son mot de passe, un message d'erreur VBA apparait... comment faire pour remédier à cela?

aussi, comment faire apparaitre un message d'erreur lorsque le code n'existe pas?
par exemple si l'utilisateur rentre 40... un message doit le prévenir que ce mot de passe n'existe pas.

merci encore Pascal...

juliette
 
J

juliette

Guest
Pascal,

j'ai adapté ce que tu as fait afin d'obtenir ce que je souhaite.

Tout est parfait… sauf (lol) que je rencontre un petit problème:

la feuille Toto est toujours active même lorsque je sélectionne une autre feuille.

Comment faire pour que toutes les feuilles soit "inactives" à l'ouverture du fichier?


je suis vraiment désolée de t'embêter...

merci

Juliette
 

Pièces jointes

  • MotDePasse2.zip
    15.9 KB · Affichages: 44
  • MotDePasse2.zip
    15.9 KB · Affichages: 48
  • MotDePasse2.zip
    15.9 KB · Affichages: 39
P

Pascal76

Guest
ReBonjour

C'est normal. Tu as placé ton code de ta feuille toto sur worksheet_select et non sur worksheet_activate

Bon courage

Ps : je pense que tu peux simplifier ton code pour tes boutons je regarde et je t'envoie

Pascal
 
J

juliette

Guest
Bonjour Pascal et les autres aussi!

Merci pour la correction du "worksheet_activate"

tel que j'ai mis les bouton, c'est vrai que c'est un peu lourd comme gestion de password...

puis-je te soumettre quelque chose?

peut-on imaginer que lors de l'ouverture du fichier, un USERFORM apparaisse avec un liste non modifiable et qui comporte les 3 noms.
l'utilisateur sélectionne son nom et en dessous dans un textbox il tape son mot de passe.
S'il est correct, il aura accès à sa page sinon un message lui demande de réessayer.

la liste des noms peut faire appel à des données (nom + mot de passe) qui se trouvent dans une feuille masquée ou alors à des données qui seront tapées dans le code...

est-ce qu'il est possible de faire cela?

merci encore.


Juliette
 
J

juliette

Guest
Salut Pascal,

je viens de paufiner le dernier fichier et je parviens PRESQUE à obtenir quelque chose de sympa...

en fait, j'ai réussi à créer le USERFORM mais il reste encore 2-3 points à corriger:

- si la personne tape un code erroné, pour l'instant rien ne se passe car je n'ai pas réussi à adapter ton code.
Comme dans les files précédents, je voudrais qu'un message d'erreur apparaisse invitant l'utilisateur à ressaisir son code.


- aussi, tel qu'il est tapé, la gestion du code VBA va être lourde... En effet, si un nouvelle utilisateur arrive, je dois modifier le code...
cela n'est pas un problème quand le fichier est à la disposition de 4 personnes mais imaginons qu'il y a 50 personnes cela devient ingérable.

est-il possible d'utiliser une feuille annexe dans laquelle le code viendra piocher le nom, vérifier le mot de passe associé et activer la feuille corespondante?

peux-tu jeter un oeil à mon fichier?

merci d'avance.


Juliette.
 

Pièces jointes

  • MotDePasse3.zip
    17.9 KB · Affichages: 35
  • MotDePasse3.zip
    17.9 KB · Affichages: 43
  • MotDePasse3.zip
    17.9 KB · Affichages: 44
P

Pascal76

Guest
Bonjour Juliette

j'espère que tu vas bien en cette matinée pluvieuse.

Excuse je finis à 16h30 et le soir je ne mets pas trop devant l'écran chez moi, donc je n'ais vu ton post que ce matin.

Regardes le fichier je te l'ai un peu changé par rapport à tes 2 demandes :
-gestion de l'erreur
-ajout de personnes

Tu me tiens au courant

Pascal
 

Pièces jointes

  • motdepasse3.zip
    19.7 KB · Affichages: 39
  • motdepasse3.zip
    19.7 KB · Affichages: 38
  • motdepasse3.zip
    19.7 KB · Affichages: 40
J

juliette

Guest
Bonjour Pascal...

la transformation du fichier est absolument géniale...

merci beaucoup pour ton aide!

Mais comme je ne souhaite pas partir sans une petite dernière demande (promis, ensuite je t'embête plus :) ), je me permets de te poser une question:

serait-il possible d'adapter le code qui figure dans chaque feuille...

Private Sub Worksheet_Activate()
If MonMotDePasse = 10 Then
Else
Sheets("feuil1").Select
End If
End Sub


... afin d'enlever le code chiffré (10 ici) pour le remplacer par la cellule de référence se trouvant ds la feuille BD.


L'idéal serait de supprimer totalement ce code afin de simplifier la création de nouveau utilisateur (et donc de nouvelle feuille).
Cependant, en supprimant se code, existe t-il un moyen pour empêcher un utilisateur d'aller sur la feuille du voisin...


comme je te l'ai dis, je t'embêterai plus!!! :)


merci infiniment Pascal.

Juliette
 
P

Pascal76

Guest
Salut

And the last version.

Tu trouveras quelques explication en feuille 1

Tu me dis si ça va

Pascal
 

Pièces jointes

  • motdepasse3.zip
    20.5 KB · Affichages: 57
  • motdepasse3.zip
    20.5 KB · Affichages: 59
  • motdepasse3.zip
    20.5 KB · Affichages: 61
J

juliette

Guest
Bouhhhh

Tout est parfait sauf que j'ai rencontré un petit problème avec le bouton annuler...
en effet, quand on clique dessus, toutes les feuilles deviennent actives...

je n'ai pas réussi à modifier le code.
Peux-tu y jeter un oeil?

aussi, n'y a t-il pas la possibilité de désactiver la croix en heut à droite du userform car je crois qu'elle pose problème?

tu me diras ensuite combien ça fait... lol

merci encore Pascal
 

Discussions similaires

Réponses
5
Affichages
521
Compte Supprimé 979
C
Réponses
2
Affichages
245

Statistiques des forums

Discussions
313 035
Messages
2 094 603
Membres
106 060
dernier inscrit
Sophiane29