Private Sub CmdBValid_Click()
Dim li, ligne As Integer
Dim FirstFeuilleToActivate As String
On Error Resume Next
Err.Clear
Dim Test
Test = Application.WorksheetFunction.Match(Me.TBLogin, Range("ListeLogin"), 0)
If Err.Number <> 0 Then
MsgBox "Le login saisi n'existe pas...."
On Error GoTo 0
Exit Sub
End If
On Error GoTo 0
If Me.TBMDP <> Application.WorksheetFunction.Index(Range("ListeLogin").Offset(0, 1), Test, 1) Then
MsgBox "Le mot de passe n'est pas conforme..."
Me.TBMDP = ""
Me.TBMDP.SetFocus 'remet le focus dans TBMDP
Exit Sub
End If
'recherche de la première feuille à activer
If Me.TBLogin = "Admin" Then
FirstFeuilleToActivate = "MDP"
Else
With Sheets("MDP")
Set li = .Range("ListeLogin").Find(Me.TBLogin)
If Not li Is Nothing Then
ligne = li.Row
If .Range("F" & ligne) = "x" Then
FirstFeuilleToActivate = "Accès niv1"
ElseIf .Range("G" & ligne) = "x" Then
FirstFeuilleToActivate = "Accès niv2"
End If
End If
End With
End If
For Each oSheet In Worksheets
If VBA.LCase(oSheet.Name) <> "accueil" Then
On Error Resume Next
Err.Clear
' ActiveWorkbook.Unprotect sMdP
If VBA.LCase(Application.WorksheetFunction.Index( _
Range("ListeLogin").Offset(0, Application.WorksheetFunction.Match(oSheet.Name, _
Range("ListeOnglet"), 0) + 1), Test, 1)) = "x" Then
Unload Me
oSheet.Visible = True
'oSheet.Activate
'################
'Etudier la manière de pouvoir accéder à une feuille précise avec les boutons précis !!!!
'################
Else
oSheet.Visible = xlVeryHidden
End If
On Error GoTo 0
End If
Next
'activation de la première feuille
If FirstFeuilleToActivate = "" Then
Sheets("Accueil").Activate
Else
Sheets(FirstFeuilleToActivate).Activate
End If
' ActiveWorkbook.Protect sMdP
End Sub