Protéger et Deprotéger une feuille excel

Contenu du snippet

Function SheetsProtection(bProtect As Boolean, ParamArray SheetsNames() As Variant) As Boolean
    SheetsProtection = False
    
    Dim i              As Integer
    Dim ActualSheet    As String
        
    ActualSheet = ActiveSheet.Name
    On Local Error Resume Next
    
    For i = LBound(SheetsNames) To UBound(SheetsNames)
        Sheets(SheetsNames(i)).Select
        If Err.Number = 9 Then Err.Clear: Exit  Function
        If bProtect Then ActiveSheet.Protect Else ActiveSheet.Unprotect
    Next i
    Sheets(ActualSheet).Select
    SheetsProtection = True
End Function

Sub Exemple_Utilisation()
' *** Retourne  True ou False, suivant le déroulement de la fonction
'     vous pouvez mettre autant de feuilles que vous le  souhaitez
    MsgBox SheetsProtection(True, "Feuil1", "Feuil3")
    MsgBox SheetsProtection(False, "Feuil1", "Feuil3")
End Sub
  

Compatibilité : VBA

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.