Désolé pour cette réponse un peu tardive, mais oui, j'ai bien copier dans ThisWorkbook.
en fait, je tombe bien sur la feuille "Accueil" mais toutes les autres sont visibles.
Option Explicit
Private Sub Workbook_Open()
Dim ws As Worksheet
Application.ScreenUpdating = False
With ThisWorkbook
For Each ws In .Worksheets
ws.Visible = xlSheetVisible
Next ws
.Worksheets("Accueil").Visible = 2
End With
If Worksheets("Enquête").Range("J2") = "N° XXX" Then
MsgBox "ATTENTION FICHIER ORIGINAL" _
& vbNewLine & vbNewLine _
& "vous devez être un utilisateur autorisé, " _
& "pour pouvoir le modifier. ", vbOKOnly + vbExclamation, "Enquête Original"
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Worksheet
Application.ScreenUpdating = False
With ThisWorkbook
.Worksheets("Accueil").Visible = -1
For Each ws In .Worksheets
If ws.Name <> "Accueil" Then
ws.Visible = 2
End If
Next ws
End With
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Utilisateur As String
Utilisateur = InputBoxDK("Indiquez votre nom d'utilisateur !", "Authentification utilisateur")
Select Case Utilisateur
Case "Nom1", "Nom2", "Nom3", "Nom4" '<--- les noms pour lesquels l'enregistrement est autorisé
Case Else
MsgBox "Vous n'êtes pas autorisé à enregistrer les modifications que vous avez apporté ! " _
& vbNewLine & vbNewLine _
& "Ce fichier et EXCEL vont être fermer. ", vbOKOnly + vbCritical, "Fermeture d'enquête "
Cancel = True
Windows.Application.Quit
End Select
End SubOption Explicit
Private Sub Workbook_Open()
Dim ws As Worksheet
Application.ScreenUpdating = False
With ThisWorkbook
For Each ws In .Worksheets
ws.Visible = xlSheetVisible
Next ws
.Worksheets("Accueil").Visible = 2
End With
If Worksheets("Enquête").Range("J2") = "N° XXX" Then
MsgBox "ATTENTION FICHIER ORIGINAL" _
& vbNewLine & vbNewLine _
& "vous devez être un utilisateur autorisé, " _
& "pour pouvoir le modifier. ", vbOKOnly + vbExclamation, "Enquête Original"
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Worksheet
Application.ScreenUpdating = False
With ThisWorkbook
.Worksheets("Accueil").Visible = -1
For Each ws In .Worksheets
If ws.Name <> "Accueil" Then
ws.Visible = 2
End If
Next ws
End With
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Utilisateur As String
Utilisateur = InputBoxDK("Indiquez votre nom d'utilisateur !", "Authentification utilisateur")
Select Case Utilisateur
Case "Nom1", "Nom2", "Nom3", "Nom4" '<--- les noms pour lesquels l'enregistrement est autorisé
Case Else
MsgBox "Vous n'êtes pas autorisé à enregistrer les modifications que vous avez apporté ! " _
& vbNewLine & vbNewLine _
& "Ce fichier et EXCEL vont être fermer. ", vbOKOnly + vbCritical, "Fermeture d'enquête "
Cancel = True
Windows.Application.Quit
End Select
End Sub