Option Explicit
Dim NbEssai
Private Sub UserForm_Initialize()
Me.Utilisateur.List = Sheets("admin").Range("Utilisateur").Value
Me.MotPasse.PasswordChar = "*"
End Sub
Private Sub MotPasse_Change()
Dim mdp As Variant, p, ok As Boolean
p = Application.Match(Me.Utilisateur, Range("Utilisateur"), 0)
mdp = Application.Index(Range("MotPasse"), p)
If Not IsError(mdp) Then
If Me.MotPasse = CStr(mdp) Then ok = True
End If
b_ok.BackColor = IIf(ok, &HFF00&, &HFF&)
End Sub
Private Sub b_ok_Click()
Dim i, j, temp
If Me.MotPasse <> "" And Me.Utilisateur <> "" Then
NbEssai = NbEssai + 1: Me.Label10.Caption = NbEssai & " essai(s)"
For i = 1 To Range("MotPasse").Count
If UCase(Me.MotPasse) = UCase(Range("motpasse")(i)) And _
UCase(Me.Utilisateur) = UCase(Range("utilisateur")(i)) Then
For j = 1 To [feuille].Count
If Range("droits").Cells(i, j) = "X" Then
temp = Range("feuille")(j)
Sheets(temp).Visible = True
End If
Next j
Sheets("Espion").[M2] = Me.Utilisateur
Unload Me: Exit Sub
End If
Next i
End If
If NbEssai > 3 Then
MsgBox NbEssai & " essais!"
ThisWorkbook.Close False
End If
End Sub
Private Sub UserForm_QueryClose(cancel As Integer, closemode As Integer)
b_ok_Click
End Sub