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

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
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
 
Select Case (UCase(Environ("Username"))) 
     Case <> "Machin1", "Machin2", "Machin3", "Machin4", "Machin5", "Machin6"
        On Error GoTo Fin
        ThisWorkbook.ChangeFileAccess xlReadOnly
Fin:  End select
N'a l'air de donner l'accès en lecture écriture seulement à Machin1.

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.