IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Vérification de mot de passe en Vba [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut Vérification de mot de passe en Vba
    Bonjour à tous,

    Voilà, j'ai mis en place le code suivant qui oblige l'utilisateur à taper un mot de passe avant d'utiliser l'application. Il n'a le droit qu'à 3 essais.

    Mon soucis, c'est lorsque l'utilisateur à taper correctement le mot, la demande est renouvelée à chaque fois qu'il sort de l'user.

    Comment solutionner ce problème ?

    Merci par avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    Option Compare Text 'majuscule & minuscule
    Dim essai As Byte
     
    Private Sub CommandButton1_Click()
    If TxT1.Value = "MARG" Then
    test1
    Unload Me
    MsgBox "Vous pouvez accéder à l'application", vbInformation, "Bonjour"
    Else
    UFpasse.Height = 67
    essai = essai - 1
    Label1.Caption = "Plus que..." & essai & "essais": Beep
    TxT1.SetFocus: TxT1 = ""
    If essai = 0 Then
    MsgBox "Vous avez épuisé votre crédit!!" + Chr(10) + "Au revoir!!"
    Unload Me
    Application.DisplayFullScreen = False
    ActiveWorkbook.Save
    ActiveWorkbook.Close
    Application.Quit
    End If: End If
    End Sub
     
    Private Sub UserForm_Initialize()
    essai = 3
    UFpasse.Height = 49
    End Sub
    J’entends et j’oublie,
    Je vois et je me souviens,
    Je fais et je comprends.
    Confucius

  2. #2
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    J'ai trouvé la réponse. En fait je n'ai rien inventé elle m(avais déjà été suggérée mais je ne m'en suis pas rappelé sur le coup. Je me suis précipité.

    Merci à Qwazerty qui me l'a donné.

    Dans un module j'ai ajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Public MdPok as Boolean
    Dans ThisWorkBook_Open j'ai ajouté l'initialisation de cette variable
    Dans mon code lorsque l'utilisateur a fait la bonne saisie
    Avant de lancer la fenêtre du mot de passe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If Not MdPok Then
    Load UFpasse
    etc.
    J’entends et j’oublie,
    Je vois et je me souviens,
    Je fais et je comprends.
    Confucius

  3. #3
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Je pense qu'un variable static peux peut être faire l'affaire.

    Regarde ce petit exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private Sub CommandButton1_Click()
    Dim rep As String
    Static deja As Boolean
     
     
    If Not deja Then rep = InputBox("MdP?")
    If rep = "Bob" Or deja Then
       deja = True
       MsgBox "Vous êtes connecté"
    Else
       MsgBox "Erreur"
    End If
    End Sub
    Lors du premier lancement deja est a faux car tout juste initialisé, et si elle est mise a vrai elle le sera a chaque lancement de cette procédure.

    Edit : arf on s'est croisé le temps que je teste. Mais je préfère la variable static les public il y a toujours un risque de se planter et de la modifier dans une autre procédure là la static est propre a celle ci et pas modifiable par une autre procédure
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

  4. #4
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Bonjour Krovax,

    J'ai testé. C'est plus concis.
    Merci beaucoup
    J’entends et j’oublie,
    Je vois et je me souviens,
    Je fais et je comprends.
    Confucius

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Effacer le mot de passe en vba
    Par gargouilleBL dans le forum Sécurité
    Réponses: 2
    Dernier message: 19/05/2008, 15h24
  2. Mot de passe sur VBA Excel
    Par vietzims dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/05/2008, 09h26
  3. Vérification de mot de passe
    Par kh-san dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 02/09/2007, 00h33
  4. Re-demander un mots de passe en VBA
    Par Jpeg69 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/07/2007, 15h25
  5. Vérification de mot de passe et regex
    Par joseph_p dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 21/03/2006, 11h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo