Mots de passe

E

Edouard

Guest
Bonjour le forum

Je viens de terminer une application qui comporte une vingtaine de feuilles dont 8 sont individualisées.
Le classeur sera diffusé aux 8 utilisateurs, mais pour sécuriser leur saisie je voudrai asservir l’ouverture de chaque feuille de deux mots de passe :
Le premier pour chaque utilisateur de sa feuille
Le second pour l’administrateur qui lui pourra ouvrir toutes les feuilles.
L’un des 8 utilisateurs sera l’administrateur.

Je pense que ce travail doit pouvoir être réalisé par une macro, mais je ne sais pas la faire.
Merci d’avance à celui qui pourra m’aider
À+
 
C

ChristianS

Guest
Salut Edouard,
Un seul mot de passe peut vérouiller. Point.
Pourquoi seul l'administrateur n'entrerait-il pas tous les mots de passe et les distriburait selon les personnes autorisées ?
Je crois même que se serait une double sécurité en cas de perte ou d'oubli...
A+
ChS
 
C

Choupihead

Guest
Salut Edouard,

Christian à raison chaque feuille peut être protégée individuellement par un mot.

Si toutefois tu veux t'en tenir à ta version ( un mot de passe par utilisateur et 1 général ) voici la macro.

Tu dois d'abords faire un menu avec bouton pour chaques feuilles. Au clique du bouton une fenêtre apparaitra. Faire une fenêtre comme fichier joint.

Ensuite pour chaque fenêtre, quand tu clique sur Valider tu rentre cette macro.

Private Sub CommandButton1_Click()

Dim rep2, rep3, rep4
Dim mdp As String
mdp = TextBox1.Value

If mdp = "MOT_DE_PASSE_UTILISATEUR" Then
rep2 = MsgBox("Mot de Passe Correct", vbInformation, "OK")
motdepasse.Hide
sheets("TA_FEUILLE").select

If mdp = "MOT_DE_PASSE_ADMINISTRATEUR" Then
rep2 = MsgBox("Mot de Passe Correct", vbInformation, "OK")
motdepasse.Hide
sheets("TA_FEUILLE").select

Else
rep4 = MsgBox("Mot de Passe Incorrect", vbInformation, "OK")
Exit Sub
End If

End Sub

Par contre tu dois créer une userform mot de passe pour chaque feuille et cette marcro pour chaque feuille également.

Bon courage

Ciao
 

Pièces jointes

  • Motdepasse.zip
    10.4 KB · Affichages: 52
  • Motdepasse.zip
    10.4 KB · Affichages: 52
  • Motdepasse.zip
    10.4 KB · Affichages: 50
C

ChristianS

Guest
Salut vous deux et les autres,
La solution proposée par Choupihead est intéressante.
Mais dans ce cas n'oublie pas de protégé ton VBA lui même par un mot de passe que seul l'administrateur pourra ouvrir ! sinon tout le monde aurait accès au code par simple lecture et, de ce fait, aux mots de passe.

En plus de l'écriture tu pourait protéger contre la lecture en cachant les feuilles en "grisant" (interdisant) l'action du menu Format. Sur la feuille d'accueil (il doit rester au moins une feuille) tu fais une dialogbox pour saisie du password. Si OK tu pointes sur l'ouverture de la feuille appropriée. Il reste quand même le problème des liaisons entre les feuilles qui ne peuvent se faire si une feuille est cachée.
Bonne soirée
ChS
 
E

Edouard

Guest
Bonsoir à tous et merci pour votre mobilisation
Après qq jours de déplacement je reprends le fil. En fait je ne veux pas protéger par un mot de passe des cellules verrouillées ; je veux que chaque utilisateur du classeur puisse lire que la feuille qui lui est destiné.

J’ai fait en sorte que mon classeur s’ouvre toujours sur la même feuille (une page d’accueil) qui souhaite la bienvenue…etc.…et sur laquelle j’ai supprimer la représentation des onglets. En cliquant sur une photo on va directement sur une feuille « mode d’emploi du classeur » et là apparaissent les onglets de mes 8 utilisateurs, (onglets qui sont à leur nom).
C’est à partir de ce moment là que je voudrais que si Paul clic sur son onglet on lui demande son mot de passe pour que sa feuille devienne active ; la même chose pour Pierre etc…. alors que l’administrateur avec son mot de passe pourra ouvrir toutes les feuilles

Si j’ai bien compris la macro de Chouihead il faut ouvrir la feuille et l’interdiction vient après ?
À+
 
C

ChristianS

Guest
Bonjour tout le monde,
C'est bien ce que je te proposais ci dessus.
Tu caches toutes tes feuilles exceptée l'accueil. (Tu ne peux pas faire autrement que de laisser au moins une feuille visible).
A l'action d'un bouton commande tu fais apparaître un userform avec une liste déroulante à selection unique remplie du nom de toute les feuilles, sauf la 1ère. Le nom de la feuille peut-être = au nom de la personne.
Dès que qq doubleclique sur un nom ou appuie sur le bouton OK une inputbox, avec toutes filtres nécessaires, apparait pour le password.
Pour chaque pw valide s'affiche la feuille correspondante rendue visible.
Pour éviter l'intrusion dans les autres feuilles tu condamnes la commande menu "Format", celle qui permet d'afficher les feuilles, et tu mets un password sur tes macros.
Cette démarche devrait fonctionner.
Bonne journée
ChS
 

Discussions similaires

Statistiques des forums

Discussions
312 756
Messages
2 091 760
Membres
105 063
dernier inscrit
jazzinou