VBA Mot de passe variable

Résolu/Fermé
SpcCwb Messages postés 65 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 26 novembre 2020 - Modifié par SpcCwb le 14/05/2013 à 08:57
SpcCwb Messages postés 65 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 26 novembre 2020 - 14 mai 2013 à 09:45
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? =)

///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

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
14 mai 2013 à 09:22
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
1
SpcCwb Messages postés 65 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 26 novembre 2020 1
14 mai 2013 à 09:35
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 
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
14 mai 2013 à 09:44
Re,

If Sheets("config").Range(A2).Value-------> Range("A2")
0
SpcCwb Messages postés 65 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 26 novembre 2020 1
14 mai 2013 à 09:44
Pffff... Non mais quel boulet je fais. L'erreur vient du fait que j'avais oublié les "" de mes Range("A2")...

Merci encore f894009!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SpcCwb Messages postés 65 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 26 novembre 2020 1
14 mai 2013 à 09:45
Belle synchro ^^

Bonne journée!
0