Verrouillage par macro perdu après réouverture fic

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
 

CBernardT

XLDnaute Barbatruc
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
 

Mi_

XLDnaute Occasionnel
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
 

Discussions similaires

Réponses
7
Affichages
367

Membres actuellement en ligne

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22