VBA Mot de passe variable
Résolu
SpcCwb
Messages postés
67
Statut
Membre
-
SpcCwb Messages postés 67 Statut Membre -
SpcCwb Messages postés 67 Statut Membre -
Bonjour,
Je planche sur un outil de gestion qui pourra être utilisé par 2 catégories de personnes:
-ceux qui n'ont besoin de toucher qu'à une partie de fichier excel
-et les autres qui peuvent modifier le fichier parce qu'ils le connaissent
Afin de pouvoir afficher certaines feuilles normalement cachées, l'utilisateur doit entrer un mot de passe. J'ai réussi à en imposer un dans le code VBA, cependant ce que j'aimerai faire c'est permettre à l'utilisateur "admin" de modifier ce mot de passe en entrant celui de son choix dans une cellule placée en A2 de la feuille "config".
Pour résumer:
-Si la cellule A2 de la feuille "config" est vide, le mot de passe est "admin" (par exemple)
-Si la cellule A2 de la feuille "config" n'est pas vide, le mot de passe devient la valeur de cette cellule.
Voici le code que j'utilise, bien évidemment il y a quelque chose qui cloche mais je n'arrive pas à savoir quoi, une petite idée? =)
Merci à vous!
Je planche sur un outil de gestion qui pourra être utilisé par 2 catégories de personnes:
-ceux qui n'ont besoin de toucher qu'à une partie de fichier excel
-et les autres qui peuvent modifier le fichier parce qu'ils le connaissent
Afin de pouvoir afficher certaines feuilles normalement cachées, l'utilisateur doit entrer un mot de passe. J'ai réussi à en imposer un dans le code VBA, cependant ce que j'aimerai faire c'est permettre à l'utilisateur "admin" de modifier ce mot de passe en entrant celui de son choix dans une cellule placée en A2 de la feuille "config".
Pour résumer:
-Si la cellule A2 de la feuille "config" est vide, le mot de passe est "admin" (par exemple)
-Si la cellule A2 de la feuille "config" n'est pas vide, le mot de passe devient la valeur de cette cellule.
Voici le code que j'utilise, bien évidemment il y a quelque chose qui cloche mais je n'arrive pas à savoir quoi, une petite idée? =)
///USERFORM///
Private Sub CommandButton3_Click()
If Sheets("config").Range(A2).Value = "" Then Call Module11.mdp_admin Else Call Module11.mdp_cellule
End Sub
///MODULE11///
Sub mdp_admin()
Mdp = Application.InputBox("Mot de passe", "Entrer le mot de passe")
Mdp = "admin"
If Mdp <> "admin" Then
MsgBox "Mot de passe incorrect1", vbCritical
Exit Sub
End If
'suite de la procédure
End Sub
Sub mdp_cellule()
Mdp = Application.InputBox("Mot de passe", "Entrer le mot de passe")
Mdp = Sheets("config").Range(A2).Value
If Mdp <> Sheets("config").Range(A2).Value Then
MsgBox "Mot de passe incorrect2", vbCritical
Exit Sub
End If
'suite de la procédure
End Sub
Merci à vous!
5 réponses
-
Bonjour,
pour les deux modules:
Ne prenez pas la meme variable Mdp pour votre inputbox et pour le mot de passe fixe ou la valeur de cellule -
Bonjour, et merci de vous pencher sur mon problème.
J'ai changé la variable Mdp en Mdp_defaut dans le module11.Sub Mdp_admin et en Mdp_variable dans le module11.Sub Mdp_cellule.
En fait l'erreur apparaît au lancement de la macro du CommandButton3, j'aurais sûrement dû commencer par là.
L'erreur est: Erreur définie par l'application ou par l'objet et se rapporte sur ce morceau de code:///USERFORM/// Private Sub CommandButton3_Click() If Sheets("config").Range(A2).Value = "" Then Call Module11.mdp_admin Else Call Module11.mdp_cellule End Sub -
Re,
If Sheets("config").Range(A2).Value-------> Range("A2") -
Pffff... Non mais quel boulet je fais. L'erreur vient du fait que j'avais oublié les "" de mes Range("A2")...
Merci encore f894009! -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -