J'ai une étape d'authentification par mot de passe lorsqu'une personne ouvre le classeur. J'ai plusieurs utilisateurs qui vont accéder à ce classeur et sur cette base, j'ai assigné une variable appelée utilisateur pour identifier qui parmi eux l'utilise.
Public pwd, user As String
Public graccess As Integer
Private Sub workbook_open()
graccess = 0
Do
pwd = InputBox("Please provide your password", "Authentication")
If pwd = "access" Then
user = "GTS"
graccess = 1
ElseIf pwd = "enter" Then
user = "AP"
graccess = 1
Else
MsgBox ("failed to authenticate")
pwd = ""
graccess = 0
End If
Loop Until graccess = 1
End Sub
Maintenant, lorsque cet utilisateur commence à travailler sur la feuille Excel, j'ai besoin de vérifier l'adresse de l'utilisateur. utilisateur pour vérifier quel utilisateur accède à la feuille. Puisque ce code sera maintenant utilisé dans l'événement *worksheet_change*, il s'agit d'une sous routine différente qui sera exécutée après que le code précédent ait fini de s'exécuter et soit hors d'usage.
Mes questions sont donc les suivantes est-ce que je ne peux pas voir l'utilisateur dans la variable parce que l'événement workbook_open est terminé et que le code a cessé de fonctionner ? Que puis-je faire pour m'assurer que la variable ne perde pas sa valeur ?
merci pour votre patience :)