Bonjour le forum,
J'ai un fichier en réseau disponible pour plusieurs dizaines d'utilisateurs, mais je voudrais restreindre l'accès en lecture-écriture à seulement 6 d'entre eux.
Pour ce faire, j'utilise ce code à l'ouverture
J'aimerais améliorer deux choses même si ce code a l'air de fonctionner... la succession de "if and" si possible.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 If (UCase(Environ("Username"))) <> "Machin1" And _ (UCase(Environ("Username"))) <> "Machin2" And _ (UCase(Environ("Username")))<> "Machin3" And _ (UCase(Environ("Username"))) <> "Machin4" And _ (UCase(Environ("Username"))) <> "Machin5" And _ (UCase(Environ("Username"))) <> "Machin6" Then On Error GoTo Fin ThisWorkbook.ChangeFileAccess xlReadOnly Fin: End If
N'a l'air de donner l'accès en lecture écriture seulement à Machin1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Select Case (UCase(Environ("Username"))) Case <> "Machin1", "Machin2", "Machin3", "Machin4", "Machin5", "Machin6" On Error GoTo Fin ThisWorkbook.ChangeFileAccess xlReadOnly Fin: End select
Et puis, j'ai mis le On Errot GoTo pour éviter une erreur quand un des utilisateurs élus est déjà sur le fichier et qu'un autre élu veut l'ouvrir.
Merci de vos lumières encore une fois.
Partager