Est ce possible???

aeque

XLDnaute Occasionnel
Bonjour le fofo

Cela fait un moment que je cherche une réponse à ma question mais malheureusement je n'arrive pas à la trouver, j'espère que vous pourrez m'aider.

Voici mon problème:

J'aimerai que lorsque j'utilise une macro dans une feuille quelconque toutes les autres feuilles se déprotègent.



voici le code que j'ai dans WorkBook Open

Code:
Private Sub Workbook_Open()
Sheets("RH").Protect "toto", UserInterfaceOnly:=True
Sheets("Tracking TBT").Protect "toto", UserInterfaceOnly:=True
Range("toutes_tbt").EntireColumn.Hidden = True
Sheets("Tracking Safety Meeting").Protect "toto", UserInterfaceOnly:=True
Sheets("Tracking Safety Meeting").Range("toutes_sf").EntireColumn.Hidden = True

Donc cela fonctionne très bien lorsque les macros agissent dans la feuille où elles sont programmées mais cela se complique quand elle agissent sur les autres.

Cela me met comme erreur : Impossible de définir la propriété Hidden de la classe Range

à cette ligne là :
Code:
Private Sub UserForm_Activate()
Sheets("tracking tbt").Range("toutes_tbt").EntireColumn.Hidden = False

Notez que l'USF se lance via la feuille RH


J'espère que vous pouvez comprendre car je n'arrive pas à uploader mon fichier, même réduit et zipper il dépasse grandement la taille maximale


Merci pour le coup de main
 
G

Guest

Guest
Re : Est ce possible???

Re, re,

J'ai enregistré le fichier joint avec les colonnes de la feuilles Tracking TBT non masquée.
Ouvre le fichier et tu verras qu'elles seront masquées
Dans le workbook_open
Protection des feuilles
Masquage des colonnes de Tracking TBT après protection.

De toutes façon, même avec userInterface only tout n'est pas possible toujours et parfois il faut déproteger la feuille avant certaine action ou dans la ligne de protection des feuilles prévoir les options permises ou non.

Exemple:
Code:
    sh.Protect "motdepasse", UserInterFaceOnly:=True, AllowFiltering:=True

Pour autoriser le filtrage automatique.

Pour connaitre tous les paramètres enregistre une macro par l'enregistreur en protégeant manuellement une feuille et en cochant tous les paramètres.

Ou alors, dans chaque macro, il faut que tu déprotège en début de macro et reprotège en fin.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 758
Messages
2 091 788
Membres
105 074
dernier inscrit
JPATOUNE