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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
Private Sub cmdOK_Click()
'******************************************
'******************************************
'Code de connexion dans l'applicatif
'******************************************
'******************************************
Dim sLogin As String
Dim sPwd As String
Dim i As Integer
Dim iVarTest As Integer
Dim iLongueur As Integer
Dim bVerif as Boolean
'Gestionnaire des erreurs
On Error Resume Next
'Variable flag
bVerif = False
'Récupération des paramètres de connexion
sLogin = txtNom
sPwd = txtMot
'Récupération de la longueur du mot de passe
iLongueur = Len(sPwd)
'Vérification que le mot de passe est de longueur supérieur à 5 et inférieur à 8
If iLongueur < 5 Or iLongueur > 8 Then
MsgBox "Le mot de passe doit avoir 5 caractères au minimum et 8 caractères au maximum", vbInformation, "Longueur mot de passe"
txtMot.SetFocus
Exit Sub
End If
'Récupération du numéro de la dernière ligne occupée
iVarTest = Sheets("mot").Range("A65000").End(xlUp).Row
'*****************************************************
'*****************************************************
Application.ScreenUpdating = False
'Initialisation de la variable de la boucle
i = 2
'Début de la boucle
Do
'Vérification du nom d'utilisateur et du mot de passe
If (sLogin = Sheets("mot").Cells(i, 1).Value) And (sPwd = Sheets("mot").Cells(i, 2).Value) Then
'la variable change de statut si login/pwd corrects
bVerif = True
'Vérification du profil de l'utilisateur
If Sheets("mot").Cells(i, 3).Value = 0 Then
Call ReactivationFeuille0
'sortie de la boucle
Exit Do
'****************************************************
ElseIf Sheets("mot").Cells(i, 3).Value = 1 Then
Call ReactivationFeuille1
'sortie de la boucle
Exit Do
'*****************************************************
ElseIf Sheets("mot").Cells(i, 3).Value = 2 Then
Call ReactivationFeuille2
'sortie de la boucle
Exit Do
'*****************************************************
Else
MsgBox "Groupe inconnu", vbInformation, "Gestion des profils"
Exit Do
End If
'***********************
'Si code actif, une seule entrée dans la boucle
'***********************
'Alternative à problème
'Else
'MsgBox "Nom ou mot de passe incorrects", vbInformation, "Login"
'Exit Do
'***********************
'***********************
End If
'Icrémentation de la boucle
i = i + 1
'Sortie définitive de la boucle si la condition est remplie:
'(la valeur de i est supérieure au numéro de la dernière ligne occupée)
Loop While i <= iVarTest
'Si mot de passe ou password incorrect
if bVerif = False then
MsgBox "Nom ou mot de passe incorrects", vbInformation, "Login"
Exit sub
end if
End Sub |
Partager