Déverrouiller une feuille à l'ouverture

Bonjour le forum

Est-ce qu'on peut mettre une instruction pour déverrouiller à l'ouverture du fichier?

Merci pour vos éventuels retours

Cordialement

Private Sub Workbook_Open()
Dim wSheet As Worksheet
Dim Feuille As String

  Application.ScreenUpdating = False
  Feuille = "Charges " & Year(Date)
  If FeuilleExiste(Feuille) = False Then
    MsgBox "La feuille de l'année en cours n'existe pas"
    Exit Sub
  End If

  Sheets(Feuille).Protect UserInterfaceOnly:=True
  Sheets(Feuille).Visible = True
  Sheets(Feuille).Select
  Sheets(Feuille).Rows.Hidden = False

     Sheets(Feuille).Range("A15:A16,A22:A24,A28:A31,A37:A38,A43:A46,A50:A53,A59:A60,A65:A68,A72:A75,A81:A82,A87:A90,A94:A97").EntireRow.Hidden = True

  For Each wSheet In Worksheets
    If wSheet.Name <> Feuille Then
      wSheet.Protect UserInterfaceOnly:=True
      wSheet.Visible = xlSheetVeryHidden
    End If
  Next wSheet
   Application.ScreenUpdating = True
ActiveSheet.Range("A1").Select
End Sub

Bonjour,

Qu'entends-tu par-là ?

Tu voudrais déverrouiller quoi ? Quand ? Comment ?

À partir du moment où tu verrouilles tout sauf la feuille de l'année à l'ouverture, il suffirait de ne plus le faire pour que ça ne soit pas verrouillé, non ?

Bonjour JoyeuxNoel

Oui c'est ça déverrouiller que la feuille de l'année en cours à l'ouverture du fichier

Merci à toi

Re,

As-tu essayé de mettre ceci ?

  Sheets(Feuille).Protect UserInterfaceOnly:=false

Voire

Sheets(Feuille).unprotect

re JoyeuxNoel

J'ai trouvé ça et ça fonctionne

Merci à toi

Bonne fin de WE

Cordialement

Private Sub Workbook_Open()
Dim wSheet As Worksheet
Dim Feuille As String

  Application.ScreenUpdating = False
  Feuille = "Charges " & Year(Date)
  If FeuilleExiste(Feuille) = False Then
    MsgBox "La feuille de l'année en cours n'existe pas"
    Exit Sub
  End If

  Sheets(Feuille).Protect UserInterfaceOnly:=True
  Sheets(Feuille).Visible = True
  Sheets(Feuille).Select
  Sheets(Feuille).Rows.Hidden = False

     Sheets(Feuille).Range("A15:A16,A22:A24,A28:A31,A37:A38,A43:A46,A50:A53,A59:A60,A65:A68,A72:A75,A81:A82,A87:A90,A94:A97").EntireRow.Hidden = True

  For Each wSheet In Worksheets
    If wSheet.Name <> Feuille Then
      wSheet.Protect UserInterfaceOnly:=True
      wSheet.Visible = xlSheetVeryHidden
    Else
      wSheet.Unprotect                  ' Déprotège la page en cours le 18/07/2021
    End If
  Next wSheet
   Application.ScreenUpdating = True
ActiveSheet.Range("A1").Select
End Sub
Rechercher des sujets similaires à "deverrouiller feuille ouverture"