Indentification

AKH.COVI Messages postés 38 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai créer un UserForm pour avoir accès a ma feuille d'enregistrement. le classeur comprend une feuille servant de Base de Donnée pour vérifier les ID et Password
Mais mon souci est que quand il fait la recherche, malgré que certain sont déjà enregistrer il me donne mon msgbox "Mot de passe incorrect".
Mais j'ai finalement remarqué que il saute une ligne dans les recherches.
Merci d'avance

Voici le code

Private Sub btnOK_Click()
Dim ID As String, Pssword As String, Plage As Range, Mp As String, Nom As String

ID = f_open.txtUser.Value
Pssword = f_open.txtPwd.Value
Set Plage = ActiveWorkbook.Sheets("CONNEXION").Columns("A:C")
Mp = Application.VLookup(ID, Plage, 2)
Nom = Application.VLookup(ID, Plage, 3)

If ID = "" Then
MsgBox "Opérateur obligatoire !"
f_open.txtUser.SetFocus
Exit Sub
End If
If Pssword = "" Then
MsgBox "Mot de passe obligatoire !"
f_open.txtPwd.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.txtPwd.SetFocus
Exit Sub
End If
End Sub

2 réponses

  1. AKH.COVI Messages postés 38 Statut Membre
     
    Excusez moi j'avais pas indenté
    Private Sub btnOK_Click() 
    Dim ID As String, Pssword As String, Plage As Range, Mp As String, Nom As String 
    
    ID = f_open.txtUser.Value 
    Pssword = f_open.txtPwd.Value 
    Set Plage = ActiveWorkbook.Sheets("CONNEXION").Columns("A:C") 
    Mp = Application.VLookup(ID, Plage, 2) 
    Nom = Application.VLookup(ID, Plage, 3) 
    
    If ID = "" Then 
    MsgBox "Opérateur obligatoire !" 
    f_open.txtUser.SetFocus 
    Exit Sub 
    End If 
    If Pssword = "" Then 
    MsgBox "Mot de passe obligatoire !" 
    f_open.txtPwd.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.txtPwd.SetFocus 
    Exit Sub 
    End If 
    End Sub
    0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    j'ai teste votre code et il marche!!!!

    mettez un point d'arret a cette ligne

    If Pssword = Mp Then

    lancez l'UF et choisissez un ID ou vous avez eu pw incorrect

    quand le programme s'arrete, passez le curseur souris sur les variables de la ligne pour voir leur contenu
    0
    1. AKH.COVI Messages postés 38 Statut Membre
       
      À CommentCaMarche
      Merci pour la reponse.
      Effectivement le code marche mais seul la ligne 1 et 3 donne un bon resultat.
      la ligne 2 prend le mot de passe de le ligne 5 et s'auto incremente a chaque ajout d'utilisateure (+1)
      A partir de la ligne 4 toout le reste est correct avec le Mp de la ligne 1.
      Merci d'avance
      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > AKH.COVI Messages postés 38 Statut Membre
       
      Re,

      Vous pouvez faire un fichier exemple avec votre code et des donnees factices mais coherentes

      Pour transmettre un fichier,
      Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDEBTIELLES
      il faut passer par un site de pièce jointe tel que cjoint.com

      Allez sur ce site : https://www.cjoint.com/
      Clic sur parcourir,
      Cherche ton fichier,
      clic sur ouvrir,
      Clic sur "Créer le lien cjoint",
      Copier le lien,
      Revenir ici le coller dans une réponse...
      0
    3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > AKH.COVI Messages postés 38 Statut Membre
       
      Bonjour,

      votre probleme vient de la colonne ID qui n'est pas triee en ordre croissant

      Soit vous faites un tri, soit vous changez de code pour la recherche
      0
    4. AKH.COVI Messages postés 38 Statut Membre
       
      Bien vu en tout cas Merci beaucoup.
      Apres tri par ordre croissant cela marche à merveille.
      Mais j'aimerais savoir comment contourner c'est à dire changer le code pour eviter le tri à chaque fois, parce que j'ai un autre UserForm qui renseingne la feuille(CONNEXION). ce qui faussera encore le tri.
      Merci
      0