Form authentification table id/password

Résolu
greg -  
AKH.COVI Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -
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

greg
 
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   Statut Membre Dernière intervention  
 
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   Statut Modérateur Dernière intervention   2 761 > AKH.COVI Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Modérateur Dernière intervention   2 761
 
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   Statut Membre Dernière intervention  
 
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   Statut Modérateur Dernière intervention   2 761 > AKH.COVI Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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