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
|
Private Sub BtnOk_Click()
Dim Rech As Range
Dim ConfigUser As Byte
'elles pourraient être déclarées au niveau module
'pour ne pas avoir à utiliser Static
Static TentativePW As Byte, TentativeID As Byte
'si le nom de l'utilisateur ou le mot de passe n'ont pas été entrés
'un message est affiché
If NomUtilisateur = Empty Or PasseWord = Empty Then mess_01
'recherche dans la plage nommée "Users" le nom de l'utilisateur entré
'la plage étant un range donc une plage de cellules
Set Rech = Range("Users").Find(NomUtilisateur, LookIn:=xlValues, lookat:=xlWhole)
'si trouvé et si le nom correspond à la valeur entrée dans la cellule de la colonne
'voisine (colonne de droite), la variable "ConfigUser" récupère la valeur dans la
'deuxième colonne sur la droite puis, lance une proc appelée "Autorisation" en lui
'passant la valeur de "ConfigUser"
If Not Rech Is Nothing Then
If NomUtilisateur = Rech.Offset(0, 1) Then
ConfigUser = Rech.Offset(0, 2)
Autorisation ConfigUser
'sinon, effectue une nouvelle tentative de récupération de mot de passe
'avec un maximum de 3
Else
TentativePW = TentativePW + 1
'une fois les 3 tentatives utilisées, le classeur est fermé
If TentativePW > 3 Then ThisWorkbook.Close 0
MsgBox "Mot de passe invalide, Tentative N° " & TentativePW & " Sur 3", vbCritical, "Sécurité Gestion parc"
With Me.PasseWord
.Value = ""
.SetFocus
End With
End If
'sinon, effectue une nouvelle tentative de récupération du nom de l'utilisateur
'avec ici aussi un maximum de 3 tentatives
Else
TentativeID = TentativeID + 1
'une fois les 3 tentatives utilisées, le classeur est fermé
If TentativeID > 3 Then ThisWorkbook.Close 0
MsgBox "Utilisateur inconnu, , Tentative N° " & TentativeID & " Sur 3", vbCritical, "Sécurité Gestion parc"
With Me.NomUtilisateur
.SetFocus
.SelStart = 0
.SelLength = Len(NomUtilisateur.Text)
End With
End If
End Sub |
Partager