Form authentification table id/password

Résolu/Fermé
greg - Modifié par pijaku le 30/03/2016 à 12:45
AKH.COVI Messages postés 37 Date d'inscription lundi 14 mars 2016 Statut Membre Dernière intervention 22 février 2018 - 31 mars 2016 à 16:45
Bonjour,

Je crois que je vais devenir chèvre... J'ai beau tourner dans tous les sens le code suivant :
-----------
Private Sub bt_valid_Click()

ID = f_open.operateur.Value
Pssword = f_open.password.Value
Plage = ActiveWorkbook.Sheets("IDMP").Columns("A:C")
Mp = Application.VLookup(ID, Plage, 2)
Nom = Application.VLookup(ID, Plage, 3)

If ID = "" Then
    MsgBox "Opérateur obligatoire !"
    f_open.operateur.SetFocus
    Exit Sub
End If


If Pssword = "" Then
    MsgBox "Mot de passe obligatoire !"
    f_open.password.SetFocus
    Exit Sub
End If

If Pssword = Mp Then
    f_open.Hide
    Unload f_open
    MsgBox "Bienvenue " & Nom & " !"
Else
    MsgBox "Mot de passe incorrect", vbExclamation
    f_open.password.SetFocus
    Exit Sub
End If
End Sub

-----------------


Je précise : "operateur" et "password" sont des textbox de formulaire.
Mes 2 premiers test fonctionnent bien pour le contrôle de saisie dans "operateur" et "password" textbox
Ma table des id/password "IDMP" est composée en colonne A des id, colonne B des mp et colonne C des noms
Jusque là tout va bien, sauf qu'à la saisie du mot de passe correspondant au premier ID de ma table la msgbox est "Mot de passe incorrect", avec des Mp improvisés également, mais qu'à la saisie du mot de passe correspondant au dernier ID de ma table IDMP pour le premier ID de ma table, je suis alors accueilli par la msgbox "Bienvenue" & nom du dernier ID de ma table ???


Je ne sais pas si je suis très clair ! lol

Votre aide sera la bienvenue :)

Greg

A voir également:

2 réponses

Ca y est c'est bon, en fait il me manquait juste le false dans les vlookup.... Je pensais qu'il s'agissait que false était la valeur par défaut de cet élement facultatif de fonction... Rhhhh
0
AKH.COVI Messages postés 37 Date d'inscription lundi 14 mars 2016 Statut Membre Dernière intervention 22 février 2018
30 mars 2016 à 11:13
Bonjour, Moi aussi je fait un truc similaire apres mes recherche je suis tomber sur votre exemple.
J'aimerais savoir f_open c'est quoi,?
Merci
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744 > AKH.COVI Messages postés 37 Date d'inscription lundi 14 mars 2016 Statut Membre Dernière intervention 22 février 2018
30 mars 2016 à 12:45
Bonjour,

f_open est le nom de son UserForm (Form en VBA).
Celui-ci contient 2 textbox ("operateur" et "password") et un CommandButton ("bt_valid").
Le code donné plus haut correspond à l'événement click du bouton de commande.
0
AKH.COVI Messages postés 37 Date d'inscription lundi 14 mars 2016 Statut Membre Dernière intervention 22 février 2018
30 mars 2016 à 16:53
Merci pour l'eclairage.
sauf que quand j'execute le code il se block au niveau de ID en disant variable non definie.
je fais comment pour corriger ce bug
Merci
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
Modifié par pijaku le 30/03/2016 à 18:15
il faut définir les variables utilisées en début de procédure par exemple :
Dim ID As String, Pssword As String, Plage As Range


0
AKH.COVI Messages postés 37 Date d'inscription lundi 14 mars 2016 Statut Membre Dernière intervention 22 février 2018
31 mars 2016 à 11:58
Merci mais toujours une msg 'erreur au niveau de la ligne ci dessous

Plage = ActiveWorkbook.Sheets("fichier").Columns("A:C")
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744 > AKH.COVI Messages postés 37 Date d'inscription lundi 14 mars 2016 Statut Membre Dernière intervention 22 février 2018
31 mars 2016 à 12:28
Bonjour,

Une petite recherche sur le message d'erreur t'aurais sans doute mis sur la voie...

Set Plage = ActiveWorkbook.Sheets("fichier").Columns("A:C")
0
AKH.COVI Messages postés 37 Date d'inscription lundi 14 mars 2016 Statut Membre Dernière intervention 22 février 2018
31 mars 2016 à 16:45
Merci pour tout, faut croire que je debute avec VBA donc vous m'excuserez pour des questions un peu bete. En tt cas Merci
0