XL 2019 Autoriser 1,2,3 du plan dans feuille protégée

Anthonymctm

XLDnaute Occasionnel
Bonjour à tous,

Sur un fichier Excel qui comporte plusieurs onglets, j'ai paramétré les plages de cellules autorisées, et verrouillé les autres (par révision > protéger).

En revanche, sur deux onglets j'ai besoin de pouvoir utiliser les 1,2 et 3 de mes plans (obtenus via données > plan > grouper)
Mais quand la feuille est protégée on ne peut plus s'en servir (on peut utiliser les + et - mais pas les 1,2,3).

Sur le net j'ai ce bout de code :
VB:
Private Sub Workbook_Open() ' Macro pour permettre de developper les 1 2 3 du plan avec la protection
Dim WS_Count As Integer
Dim I As Integer

WS_Count = ActiveWorkbook.Worksheets.Count
For I = 1 To WS_Count
With ActiveWorkbook.Worksheets(I)
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, UserInterfaceOnly:=True
End With
Next I

End Sub


Il fonctionne, les cellules autoriser sont toujours modifiables et je peux utiliser les 1,2,3 mais il n'est pas parfait.
Il faudrait qu'il ne soit actif que pour les onglets nécessaires, et qu'il me permette d'autoriser plus de choses.
Par exemple, si j'autorise la modification des formats de cellules ou l'insertion de lignes, à la prochaine ouverture du fichier ces paramètre d'autorisation sautent et tous les onglets de reprotègent.

Ca doit être assez simple à faire mais je ne suis pas très doué en vba du coup je ne parviens pas à l'adapter comme je veux. :rolleyes:
J'ai tenté de lancer la macro pour autoriser les 1,2,3 puis de supprimer la macro pour pas que ça réinitialise mes paramètres mais si je ferme et réouvre le fichier mes paramètres sont bien mémorisés mais plus possible d'utiliser les 1,2,3.


NB : Sur d'autres onglets j'ai besoin de pouvoir fusionner des cellules (parmis les cellules autoriser à la modification) tout en gardant la protection de la feuille activée. Si vous avez la solution
 

Discussions similaires

Statistiques des forums

Discussions
315 080
Messages
2 116 020
Membres
112 637
dernier inscrit
pseudoinconnu