T'es le boss !!
Effectivement, c'est plus simple, tout marche à la perfection, merci beaucoup :)
J'ai pas compris pourquoi la version en lecture seule ne fonctionnait pas, mais celle ci est beaucoup mieux ;)
J'ai juste rajouté une petite ligne ActiveWorkBook.Unprotect au début pour enlever le mode protégé qui affichait une petite erreur quand on ouvrait le fichier depuis les mails.
Merci ;)
Pour ceux qui en auraient besoin, voici le code détaillé :
Private Sub Workbook_Open() 'à l'ouverture du classeur
Application.DisplayAlerts = False 'Masque les alertes
ActiveWorkbook.Unprotect 'Enlève le mode protégé
nom = Environ("username") 'Définit la variable nom en recherchant le login windows de l'utilisateur
Set temp = [utilisateurs].Find(what:=nom) 'définit la variable temp en cherchant la variable nom dans la feuille masquée Utilisateurs, dans la zone nommée Utilisateurs
If temp Is Nothing Then 'si le nom d'utilisateur n'apparait pas dans la liste
For Each Sh In ThisWorkbook.Worksheets 'pour toutes les feuilles du classeur
Sh.Protect "MotDePasse" 'protéger la feuille avec le mot de passe MotDePasse
Next
Else 'si il apparaît dans la liste
For Each Sh In ThisWorkbook.Worksheets 'pour toutes les feuilles du classeur
Sh.Unprotect "MotDePasse" 'Enlever la protection en utilisant le mot de passe MotDePasse
Next
End If
Application.DisplayAlerts = True 'affiche à nouveau les alertes
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean) 'avant la fermeture du classeur
For Each Sh In ThisWorkbook.Worksheets 'Pour toutes les feuilles du classeur
Sh.Protect "MotDePasse" 'Protège la feuille avec le mot de passe MotDePasse
Next
End Sub