3 votes

Verrouiller des cellules dans des feuilles de calcul spécifiques

J'essaie de verrouiller une plage dans des feuilles de calcul spécifiques d'un classeur. Le code que j'utilise ne verrouille que les cellules de la première feuille de calcul et ne passe pas à la suivante pour verrouiller la plage.

Sub lockpivots()

Dim sh As Worksheet

For Each sh In Sheets

Select Case sh.Name
Case Is = "2) Review Charts-Management", "3) Review Charts-Functional"

    Selection.Locked = False
    Selection.FormulaHidden = False
    range("b2:C9").Select
    ActiveSheet.Protect Password:="IDR"

    End Select

    Next sh

End Sub

2voto

BigBen Points 16124

N'utilisez pas Selection o .Select o ActiveSheet Il s'agit plutôt de sh :

For Each sh In ThiseWorkbook.Worksheets 
    Select Case sh.Name
        Case "2) Review Charts-Management", "3) Review Charts-Functional"
            With sh
                .Range("B2:C9").Locked = False
                .Range("B2:C9").FormulaHidden = False
                .Protect Password:="IDR"
            End With
    End Select
Next sh

1voto

VBasic2008 Points 14466

Verrouillage des cellules d'une plage

Option Explicit

Sub LockPivots()

    Dim ws As Worksheet

    For Each ws In ThisWorkbook.Worksheets

        Select Case ws.Name
        Case "2) Review Charts-Management", "3) Review Charts-Functional"
            ws.UnProtect Password:="IDR"
            With ws.Range("B2:C9")
                .Locked = False
                .FormulaHidden = False
            End With
            ws.Protect Password:="IDR"
        Case Else ' do nothing
        End Select

    Next ws

End Sub

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X