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 :

Re-comment créer un userform pour mot de passe


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    juin 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : juin 2007
    Messages : 66
    Points : 45
    Points
    45
    Par défaut Re-comment créer un userform pour mot de passe
    Bonjour a tous

    j'ai créer un userform pour saisie de mot de passe avec 2 boutons de choix entre invité et administrateur. Comme l'indique l'image ci-dessous :



    - si le bouton invité est choisi, alors l'action sur valider désactive tous les boutons de commande du classeur.
    - si le bouton administrateur est choisi et les zones de textes (login et password) correctement renseignés, alors l'action sur valider active tous les boutons de commande du classeur. si le mot de passe est incorrect :
    message " veuillez entrez votre mot de passe ou entrez comme invité"

    je serais vraiment très ravis d'avoir vos conseils et astuces

    je galère atrocement.

    Je serais une fois de plus très heureux d'avoir votre coup de pouce.

    Merci encore de m'aider.
    Images attachées Images attachées  

  2. #2
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2004
    Messages : 3 174
    Points : 4 083
    Points
    4 083
    Par défaut
    veuillez entrez votre mot de passe ou entrez comme invité
    Un simple "Mot de passe incorect" t'éviterait d'avoir à réviser tes conjugaisons.

    Si Alain a supprimé ton message précédent, il devait y avoir une raison. Je crois que tu voudrais qu'on fasse le travail à ta place. Si tu montrais ton code à l'endroit où il y a une erreur avec description du message d'erreur et tout l'tintouin, nous serions plus en mesure de t'aider. Mais n'attends pas qu'on ponde le code pour toi.

  3. #3
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2004
    Messages : 3 174
    Points : 4 083
    Points
    4 083
    Par défaut
    Je réitère ma demande :
    Montre nous le bout de code où tu bloques et on pourra t'aider.

    Et plus la peine de m'écrire sur mon MP, je ne répondrai pas.

  4. #4
    Membre du Club
    Inscrit en
    juin 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : juin 2007
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Salut Isabelle
    voici un bout de code qui comme vous pouvez le constater ne rempli pas les exigences que j'ai citer plus haut :
    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
    Private Sub Annuler_Click()
        Unload Me
    End Sub
     
    Private Sub Ok_Click()
        If button2 = True And TextBox2 = kedas And Me.Passe = "synthe" Then
            Unload Me
        End If
        Me.Passe = ""
    End Sub
     
    Private Sub OptionButton1_Click()
    If Button1 = True Then
     
    End Sub
     
     
    Private Sub UserForm_Initialize()
        Me.Passe.PasswordChar = "*"
    End Sub
    Merci de votre coup de pouce et de votre invitation a plus de recherche
    Merci encore

  5. #5
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2004
    Messages : 3 174
    Points : 4 083
    Points
    4 083
    Par défaut
    Pour commencer, je ne vois nulle part le code pour fermer le classeur.
    qui devrait se trouver dans le code du bouton Annuler et dans le code du bouton OK lorsque les conditions ne sont pas remplies (la partie Else du bloc If).

  6. #6
    Membre du Club
    Inscrit en
    juin 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : juin 2007
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    salut

    merci pour la proposition mais je ne désire pas fermé le classeur si le mot de passe est incorrect mais tout de même, afficher un MsgBox qui demande d'accéder au classeur comme "Invité" à travers l'optionButton (invité) de l'userform motdepasse. Et dans ce cas, les boutons de commande sont inactifs.

  7. #7
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2004
    Messages : 3 174
    Points : 4 083
    Points
    4 083
    Par défaut
    Salut

    Explique moi le sens de button2 = True dans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If button2 = True And TextBox2 = kedas And Me.Passe = "synthe" Then
    et je regarderai ça de plus près.

  8. #8
    Membre du Club
    Inscrit en
    juin 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : juin 2007
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    salut Isabelle

    le boutton2 est le bouton de choix "administrateur". Alors, si ce bouton administrateur est choisis, si son nom d'utilisateur (textbox2) est "kedas" et si le mot de passe est "synthe" alors les CommandButton du classeur doivent être actif. par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CommandButton1.Enabled = True
    mais ceci pour tous les boutons du classeur.

    Par contre le boutton1 est le bouton de choix " invité" si c'est plutôt ce bouton qui est choisis le classeur s'ouvre quand même mais tous les boutons du classeur
    sont désormais du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CommandButton1.Enabled = False
    Merci de votre patience et a très bientôt

  9. #9
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2004
    Messages : 3 174
    Points : 4 083
    Points
    4 083
    Par défaut
    J'avais compris le reste de la ligne. Je n'étais simplement pas certaine de la nature de ce Bouton. J'ai l'habitude de nommer les boutons d'options avec quelque chose débutant par opt, comme optAdmin. Comme ça, c'est plus clair. Surtout quand on veut faire la maintenance d'un programme après plusieurs mois.

    C'est partit, je regarde et t'en reparles.

  10. #10
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2004
    Messages : 3 174
    Points : 4 083
    Points
    4 083
    Par défaut
    Voici ce que j'ai fait

    Mes boutons et mes options n'ont peut-être pas le même nom que chez toi. Mais ce devrait être facile à transposer
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    Option Explicit
     
    Private Sub cmdQuitter_Click()
        Me.Hide
        ThisWorkbook.Close
    End Sub
     
    Private Sub cmdValider_Click()
        lblMessage.Caption = ""
        If optAdmin.Value Then
            If txtUtilisateur.Text = "kedas" Then
                If txtMotDePasse.Text = "synthe" Then
                    MsgBox "Vous êtes administrateur"
                    Unload Me
                  Else
                    Beep
                    lblMessage.Caption = "Mot de passe incorect"
                    txtMotDePasse.SelStart = 0
                    txtMotDePasse.SelLength = Len(txtMotDePasse.Text)
                    txtMotDePasse.SetFocus
                End If
              Else
                Beep
                lblMessage.Caption = "Nom d'utilisateur incorect"
                txtUtilisateur.SelStart = 0
                txtUtilisateur.SelLength = Len(txtUtilisateur.Text)
                txtUtilisateur.SetFocus
            End If
          Else
            MsgBox "vous êtes invité"
            Unload Me
        End If
    End Sub
     
    Private Sub optAdmin_Click()
        ActiverChamps True
    End Sub
     
    Private Sub optInvite_Click()
        ActiverChamps False
    End Sub
     
    Private Sub ActiverChamps(ok As Boolean)
        txtUtilisateur.Enabled = ok
        txtMotDePasse.Enabled = ok
        txtUtilisateur.Text = IIf(ok, txtUtilisateur.Text, "")
        txtMotDePasse.Text = IIf(ok, txtMotDePasse.Text, "")
        If ok Then txtUtilisateur.SetFocus
    End Sub
     
    Private Sub Form_Initialize()
        lblMessage.Caption = ""
        optInvite.Value = True
    End Sub
    Il ne faut pas oublier d'appeler la fenêtre de LogIn au chargement du fichier. Dans le code de ThisWorkbook :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
        frmLogIn.Show
    End Sub
    J'ai ajouté un semblant de barre d'état. C'est un label (lblMessage) dans un Frame. Tu enlèves le caption du frame et tu lui mets sa propriété SpecialEffect à 2 (fmSpecialEffectSunken). Je trouve ça moins agaçant que les sempiternelles boîtes de messages (Msgbox) qui vous sautent au visage.

  11. #11
    Membre du Club
    Inscrit en
    juin 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : juin 2007
    Messages : 66
    Points : 45
    Points
    45
    Par défaut Super
    Salut Isabelle

    C'est carrément super je crois là que mon problème a été résolu.
    C'est vrai que les boutons de commande du classeur sont encore actif néanmoins, je crois que je vais tout simplement cacher certaines feuilles du classeur afin de restreindre l'utilisation en tant que "Invité".

    Merci encore Isabelle pour tout ce que tu as fais pour moi.

    T'es une reine

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

Discussions similaires

  1. Comment créer un accès avec mot de passe sur un site?
    Par phoque.r dans le forum Langage
    Réponses: 4
    Dernier message: 13/04/2007, 14h51
  2. Réponses: 2
    Dernier message: 04/08/2005, 20h00
  3. Réponses: 7
    Dernier message: 29/07/2005, 10h51
  4. Réponses: 7
    Dernier message: 21/10/2004, 10h13
  5. [JSP]comment créer un listener pour ma base de données
    Par Ekimasu dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 10/05/2004, 15h49

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