VBA Mot de passe variable [Résolu/Fermé]

Signaler
Messages postés
63
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
23 avril 2020
-
Messages postés
63
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
23 avril 2020
-
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

Messages postés
15240
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
14 juillet 2020
1 310
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 59834 internautes nous ont dit merci ce mois-ci

Messages postés
63
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
23 avril 2020
1
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 
Messages postés
15240
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
14 juillet 2020
1 310
Re,

If Sheets("config").Range(A2).Value-------> Range("A2")
Messages postés
63
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
23 avril 2020
1
Pffff... Non mais quel boulet je fais. L'erreur vient du fait que j'avais oublié les "" de mes Range("A2")...

Merci encore f894009!
Messages postés
63
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
23 avril 2020
1
Belle synchro ^^

Bonne journée!