Protection de feuilles

Bonjour le forum,

J'ai une question qui m'embête et je ne vois pas de solution.

Est il possible d'interdire une feuille en écriture mais autoriser la modification par le biais d'un userform

J'espère avoir été clair

Bon courage à tous

tu n'as qu'à enlever la protection le temps du traitement et la remettre ensuite:

Private Sub CommandButton1_Click()
    With Sheets("Feuil2")
        .Unprotect "motdepasse"
        .Range("A1").Value = Me.TextBox1.Text
        .Protect "motdepasse"
    End With
End Sub

Bonjour Math et merci de ta réponse

je ne sais pas ou coller ton bout de code.

Peux tu m'éclairer

tu dois enlever la protection à chaque fois que tu veux écrire dans une feuille protégée. Je présume que c'est les feuilles objet que tu veux protéger? Tu devrais ajouter cette ligne lors de la création:

Sub CréerUneObjet()
         'J'ai coupé le début pour l'affichage
          Selection.Copy
          Sheets(NomDuVh).Select
          Cells.Select
          ActiveSheet.Paste
          Range("B4").Select
          ActiveWindow.FreezePanes = True
          Range("A1") = "RESERVATION " & NomDuVh

          'Cette ligne protegera la nouvelle feuille ===========================
          ActiveSheet.Protect "motdepasse"
          ' ============================================================

          Sheets("Menu").Activate
          NomDuBouton = .Cells(CompteurDeLigne - 1, compteurDeColonne)
          .Cells(CompteurDeLigne, compteurDeColonne) = NomDuVh
          .Cells(CompteurDeLigne + 1, compteurDeColonne) = GammeDuVh
          Sheets("menu").DrawingObjects(NomDuBouton).Visible = True
          ActiveSheet.DrawingObjects(NomDuBouton).Select
          Selection.Characters.Text = NomDuVh
          Sheets("Cadre").Visible = False
          Application.GoTo Reference:=Worksheets(NomDuVh).Range("A4"), Scroll:=True
          Application.GoTo Reference:=Worksheets("Menu").Range("A1"), Scroll:=True
          Sheets("Menu").Protect
          Exit Sub
        End If
      Next
    Next
  End With
  MsgBox " Le nombre d'objet maxi (15) est atteint , création impossible "
  Application.GoTo Reference:=Worksheets("Menu").Range("A1"), Scroll:=True
GestionDesErreurs:
  If Err = 1004 Then
    Err = 0
    MsgBox " Cet objet est déja inscrit dans la base , création impossible"
    Application.DisplayAlerts = False
    ActiveSheet.Delete
    Application.DisplayAlerts = True
    Sheets("Menu").Cells(CompteurDeLigne, compteurDeColonne) = ""
    Application.GoTo Reference:=Worksheets("Menu").Range("A1"), Scroll:=True
    Sheets("Menu").Protect
    Exit Sub
  End If
End Sub

ensuite un exemple pour le userform suppression des réservations:

Private Sub MiseEnFormeReservation(Feuille As String, Plage As String)
    Sheets(Feuille).Unprotect "motdepasse"
    With Sheets(Feuille).Range(Plage)
        .UnMerge
        .Value = ""
        .Interior.ColorIndex = xlNone
        .HorizontalAlignment = xlLeft
        .Borders(xlEdgeLeft).LineStyle = xlNone
        .Borders(xlEdgeTop).LineStyle = xlNone
        .Borders(xlEdgeBottom).LineStyle = xlNone
        .Borders(xlEdgeRight).LineStyle = xlNone
    End With
    Sheets(Feuille).Protect "motdepasse"
End Sub

Bonsoir à tous, Salut Math,

Permet d'exécuter les macros sans déprotéger les feuilles:

Dans le ThisWorkbook

Private Sub Workbook_Open()
Dim i As Byte
    For i = 1 To Worksheets.Count
        Worksheets(i).Protect Password:="xxxx", UserInterfaceOnly:=True
    Next
End Sub

çà marche pour les Modules, maintenant pour les UserForm ??

ici toutes les feuilles sont protégées, mais on peut en exclure.

Amicalement

Claude.

bonjour Claude,

j'ai testé et ça marcherais dans le projet present ( pas de problème avec les userforms ).

bonjour Math et dubois ainsi que le forum,

merci de votre aide.

le problème est résolu

bon courage à tous et bonne journée

Rechercher des sujets similaires à "protection feuilles"