Bonjour à tous et toutes,
J'ai crée un code VBA qui permet de vérifier le nom de session du compte Excel et qui permet l'accès sans mot de passe si la session est renseignée dans une liste. Le code s'active si nous changeons de page et demande le mot de passe a chaque changement si la personne n'est pas sur la liste:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.ScreenUpdating = False
Dim Usernames As Range
Set Usernames = Range("'Accueil'!A2:'Accueil'!A6")
Dim Username As String
Username = Application.Username
Dim isUserValid As Boolean
isUserValid = Not IsError(Application.Match(Username, Usernames, 0))
If Not isUserValid Then
Application.ScreenUpdating = False
MsgBox "Entrer le mot de passe", vbOKOnly + vbExclamation, "Saisie du mot de passe"
mdp = InputBox("Saisie du mot de passe", "Entrer le mot de passe")
If mdp = "MdP" Then
Exit Sub
Else
Application.ScreenUpdating = False
MsgBox "Entrer le mot de passe", vbOKOnly + vbExclamation, "Saisie du mot de passe"
mdp = InputBox("Saisie du mot de passe", "Entrer le mot de passe")
End If
If mdp <> "MdP" Then
Application.ScreenUpdating = False
MsgBox "Mot de passe incorrect", vbOKOnly
ActiveWorkbook.Save
ActiveWorkbook.Close
End If
End If
Application.ScreenUpdating = True
End Sub
Or dans ce code le Application.ScreenUpdating ne fonctionne pas. Je voudrait avoir une solution pour que celui-ci fonctionne ou si cela est possible afficher un écran de couleur en arrière plan pour masquer la vue du fichier. Et bien sûr si la personne est dans la liste cela ne s'applique pas tout comme la version actuelle.
Je vous remercie d'avoir tout lu ^^