VBA Mot de passe variable

Résolu
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? =)

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

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  2. SpcCwb Messages postés 67 Statut Membre 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 
    0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    If Sheets("config").Range(A2).Value-------> Range("A2")
    0
  4. SpcCwb Messages postés 67 Statut Membre 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!
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. SpcCwb Messages postés 67 Statut Membre 1
     
    Belle synchro ^^

    Bonne journée!
    0