Bonjour,
existe-t-il une fonction pour protéger ou déprotéger plusieurs (voire toutes) feuilles dans un classeur ?
Sinon, avez-vous une macro pour le faire ?
Cela me serait utile car pour modifier un style dans un classeur, il faut que toutes les feuilles soient déprotégées, et cela devient fastidieux quand il y a une vingtaine de feuilles !
Merci de vos retours.
Bonjour Chian,
voici une fonction que j’utilise :
Function ProtectSheet(ByRef pSheet As Object, pProtect As Boolean, Optional pPwd As String) As Integer
'Protects or unprotects a sheet.
'Input:
'-- pSheet: the sheet object to protect
'-- pProtect: True to protect, False to unprotect
'-- pPwd: (optional) the password to apply. pPwd may be a blank string.
' Defaults to a blank string.
'Output:
'-- -1 if pSheet is not set (Null),
'-- the Basic error code for the action (see LibO help, 'Basic programs debugging' topic),
'-- 0 if the execution was successful.
Dim l_Err As Integer
l_Err = -1
If Not IsNull(pSheet) Then
If IsMissing(pPwd) Then pPwd = ""
On Local Error Resume Next
If pProtect Then
pSheet.protect(pPwd)
Else
pSheet.unprotect(pPwd)
End If
l_Err = Err
End If
ProtectSheet = l_Err
End Function 'ProtectSheet
Pour (dé)protéger toutes les feuilles du classeur, parcourez les feuilles (objet ThisComponent.Sheets()) et appliquez la fonction ci-dessus.
For Each oSheet In ThisComponent.Sheets()
ProtectSheet(oSheet, True, "mdp") 'or False
Next oSheet
Il n’est pas nécessaire de sélectionner les feuilles une par une.
- Sélectionnez-les toutes
- avec la souris (clic sur le premier onglet de la feuille, Maj+clic sur le dernier onglet de la feuille) ou
- en choisissant le menu
Édition
-Sélectionner
-Sélectionner toutes les feuilles
(Alt+D, E, T), et
- choisissez le menu
Outils
-Protéger la feuille
,OK
(Alt+O, G, Entrée, Entrée).
Et pour déprotéger, choisissez le menu Outils
- `Protéger la feuille`` (Alt+O, G).
en:
There is no need to select the sheets one by one.
- Just select all of them
- with the mouse (click on the first sheet tab, Shift+click on the last sheet tab) or
- choosing menu Edit - Select - Select All Sheets (Alt+E, T, A), and
- choose menu Tools - Protect Sheet, OK (Alt+T, S, Enter, Enter).
And to unprotect choose menu Tools - Protect Sheet.
2 Likes
Merci, la manip était évidente mais je ne l’avais pas testée.
Problème réglé.
Christian
1 Like