Afficher et masquer des lignes sur des feuilles protégées

Bonjour à tous,

Je dispose d'une macro qui sous certaines conditions, masquent le contenu de certaines lignes lors d'un export du fichier sous PDF

Une autre macro est chargée d'afficher à nouveau ces lignes dès lors que l'export est réalisé.

Mon soucis est celui-ci: j'ai l'intention de protéger a feuille pour éviter que les formules soient modifiées.

Dès que je le fais, les macro beuguent et renvoient une alerte de type "Erreur 1004".

Je voudrais la possibilité de sauter la protection de la feuille lorsque l'export est lancée et que la feuille se protège à nouveau après l'export et après que la macro chargée de réafficher les lignes les ai fait (C'est à ce niveau que ca plante)

16testv2.zip (29.28 Ko)

Il suffit que les macros se chargent de déprotéger la feuille avant de commencer leur travail et de la remettre dès qu’elles ont finI.

Exemple, si ‘’gmb’’ est le mot de passe :

Private Sub CmdExportPDF_Click()
ActiveSheet.Unprotect "gmb"
…
…
ActiveSheet.Protect "gmb"
End sub

OK ?

Bye !

Il suffit que les macros se chargent de déprotéger la feuille avant de commencer leur travail et de la remettre dès qu’elles ont finI.

Ok j'essaie et je vous reviens.

Par contre selon le débobage, ca coince au niveau de la macro qui affiche les feuilles à nouveau après l'export.

Est ce que ce n'est pas à ce niveau que je dois mettre plutot la proposition que vous me faites?

CODE : SÉLECTIONNER ET COPIER LE CODE

Private Sub CmdExportPDF_Click()

ActiveSheet.Unprotect "gmb"

ActiveSheet.Protect "gmb"

End sub

Il renvoie une "Erreur 1004" Impossible de définir la propriété Hidden et le débobage se met sur la macro sub Userform terminat ()

Un essai à tester;

Bye !

17testv3.zip (33.67 Ko)

Un essai à tester;

Ca marche mais du coup lorsque je fais une sélection multiple, elle ne prend qu'une seule feuille et pas toutes les feuilles sélectionnées

Par contre si je veux définir des plages déverouillée il faudra que je l'écrive de cette façon?

'ActiveSheet.Protect "gmb", UserInterfaceOnly:=True

'ActiveSheet.UnProtect "momo", UserInterfaceOnly:=True

C'est bien ça?

Rechercher des sujets similaires à "afficher masquer lignes feuilles protegees"