Useform permettant Login suivant Texbox lié à un tableau

26login.xlsm (105.72 Ko)
Bonjour, je m'épuise à trouver le code pour cette fonction.Erreur de syntaxe ou de conception ? Je m'explique :
1) on rentre dans un userfome pour se connecter
2) l'utilisateur informe son ID (login), sur textbox1, puis son mail sur textbox2
3) le command_button doit vérifier sur la feuille "CUSTOMERS" s'il s'est bien inscris
4) si c'est le cas ce userform6 ouvre le userforme7
5) si aucune correspondance propose l'inscription (et donc le rajout sur la feuille "CUSTOMERS" ou le renvoie de ses login via mail

Ci-joint mon fichier avec pleins d'essais, dont le premier en principale
Ma variable "a" devrait faire un loop pour faire trouver la correspondance et je bloque à cette 1ère étape .....lol . enfin "Grrrrrr"
Je précise que je voudrais éviter de créer une feuille pour créer liste ( même cette solution désespérée a été tentée) et que tout soit en vba sans rien faire apparaître sur feuille
j'espère avoir été clair et concis
Je remercie ce forum qui m'a, à de nombreuses reprises, sauvé de mes ignorances

Bonjour Andrekn13

1ère remarque avant toute chose, ce ne devrait pas être à l'utilisateur de pouvoir créer le compte mais à un administrateur

Sinon voici le fichier avec l'USF modifié

A+

un grand merci

je n'aurais jamais trouvé ton code .

malgré tout je n'arrive pas à trouver l'erreur si on se trompe sur le login ( 10 au lieu de 1) et que l'on a mis le bon mail ça renvoie "OK"

blabla10 2

Re,

2 grosses erreurs de ma part :

1) la recherche se fait sur toutes les cellules, or elle devrait se faire uniquement dans les colonnes concernées
2) Les valeurs trouvées peuvent être sur des lignes différentes, ce n'est pas logique

Voici le code corrigé

Private Sub Cbn_Connexion_Click()
  Dim Sel1 As Range, Sel2 As Range
  Dim LigSel1 As Long, LigSel2 As Long
  ' Initialiser le snuméor de ligne
  LigSel1 = 0: LigSel2 = 0
  Set Sel1 = Sheets("CUSTOMERS").Columns("A:A").Find(Me.Tbx_Id.Value, , xlValues, xlWhole)
  If Not Sel1 Is Nothing Then LigSel1 = Sel1.Row
  Set Sel2 = Sheets("CUSTOMERS").Columns("F:F").Find(Me.Tbx_Mail.Value, , xlValues, xlWhole)
  If Not Sel2 Is Nothing Then LigSel2 = Sel2.Row
  ' L'identifiant ou le mail sont incorrects
  If LigSel1 <> LigSel2 Then
    Me.Tbx_Id.Value = "": Me.Tbx_Mail.Value = ""
    Essai = Essai - 1
    If Essai > 0 Then
      MsgBox "Erreur d'identification, il vous reste : " & Essai & " essai(s)", vbCritical, "ATTENTION..."
    Else
      MsgBox "Le classeur va être fermé", vbExclamation, "OUPS..."
      ThisWorkbook.Close Savechanges:=False
    End If
  Else  ' Saisie correcte
    MsgBox "Identification correcte", vbInformation, "CA MARCHE..."
    ' Fermer l'USF
    Unload Me
  End If
End Sub

A+

Rechercher des sujets similaires à "useform permettant login suivant texbox lie tableau"