Verrouillage par macro perdu après réouverture fic

  • Initiateur de la discussion Initiateur de la discussion Mi_
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Mi_

XLDnaute Occasionnel
Bonsoir le forum,

Je suis complètement dépassé par un problème apparement banal de verouillage.

Disons qu'on a un classeur vièrge, où on met quelques cellules déverrouillées.

Je verouille manuellement la feuille, avec pass 'tutu' et option de ne pas sélectionner les cellules verrouillées.

J'enregistre le ficher, je ferme tout. Je relance le fichier, le verrouillage 'sans sélectionner les cellules verrouillées' y est.

JUSQUE LA TOUT VA BIEN.

Maintenant disons qu'on a un classeur avec des dizaines de feuilles, et on veux utiliser un macro pour toutes les verrouiller, avec pass 'tutu', option 'sans sélectionner les cellules verrouillées', et option 'outlining = true' (c'est pour pouvoir avoir des menus déroulants fonctionnels lors du verrouillage). Le code est le suivant:

Sub Verrouiller()
For i = 1 To ThisWorkbook.Sheets.Count
With Sheets(i)
.EnableOutlining = True
.EnableSelection = xlUnlockedCells
.Protect Password:='tutu', UserInterfaceOnly:=True
End With
Next i
End Sub


J'exécute le macro, le verouillage y est, avec les options décrites.

J'enregistre le fichier, je ferme tout.

ET QUAND JE REOUVRE LE FICHIER, il n'y a plus qu'un verouillage 'standard', donc avec sélection des cellules verrouillées, et sans 'outlining' !!!

Je ne comprend pas pourquoi ?!? Où est la faute ? Le verrouillage 'custom' se perd à la fermeture du fichier !

Tout cela est réproductible, donc avec ce macro et une feuille vièrge, vous arriverez au même résultat !

Comment est-ce possible ? Pourriez-vous m'aider ?

Mi
 
Bonsoir Mi_,


J'ai regardé l'aide Excel et que dit-elle :

EnableOutlining = True 'Cette propriété s'applique à chaque feuille de calcul et n'est enregistrée ni avec celle-ci, ni avec la session.

Donc lorsque tu ferme le classeur, cette propriété revient à false et il est nécessaire de la réactiver, par exemple avec une macro à l'ouverture du type :

Private Sub Workbook_Open()
Verrouiller
End Sub

Cordialement

CBernardT
 
Bonsoir CBernardT,
Bon, l'Outlining 'je te l'accorde' 🙂 , mais reste .EnableSelection = xlUnlockedCells
. Cette option se perd aussi à la fermeture du fichier, mais uniquement quand on verrouille par macro, car au verrouillage manuel, elle y reste.

Donc comment garder la non-sélection des cellules verrouillées lors du verrouillage par macro ?

Merci,
Mi
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
1 K
Réponses
22
Affichages
3 K
Retour