-
Protect True, True, True
Bonjour,
Désolé pour cette question sans doute très naïve,
Quand on lit :
Code:
ThisWorkbook.Protect "toto", True, True, True
Les True font-ils référence aux premières propriétés (parmi d’innombrables autres...) , listée ici : https://docs.microsoft.com/fr-fr/off...ksheet.protect
Soit :
- DrawingObjects
- Contents
- Scenarios
En vous remerciant d'avance pour votre réponse,
Cordialement,
jp
-
9 pièce(s) jointe(s)
Salut.
Lorsque les arguments ne sont pas nommés, ils doivent être présentés dans l'ordre attendu par la procédure/fonction/méthode/propriété. Cet ordre peut être retrouvé grâce à l'infobulle d'aide à la saisie.
Je doute qu'il y ait trois True sur Workbook.Protect... Voici la syntaxe telle que présentée par l'infobulle. Sans arguments nommés, il faut donc passer d'abord le mot de passe, puis la valeur de verrouillage pour la structure, puis celle pour les fenêtres (en fait, dans l'ordre de la présentation de la fenêtre dans l'environnement Excel)
Pièce jointe 576473
Par contre, la protection d'une feuille de calcul permet bien plus d'arguments
Pièce jointe 576474
Lorsque les arguments ne sont pas nommés et que l'on veut omettre certains arguments facultatifs, il faut les "saisir" vide, c'est-à-dire faire se suivre les virgules de séparation.
Pièce jointe 576475
Avec des argument non nommés, on doit également s'arrêter après le dernier paramètre facultatif renseigné. Il ne peut donc y avoir de "trous" bouchés après le dernier argument dont la valeur est renseignée
Pièce jointe 576488
La syntaxe suivante n'est pas acceptée
Pièce jointe 576489
Excel "comprend" donc les arguments non nommés dans l'ordre de l'infobulle et s'arrête au dernier renseigné. Les arguments facultatifs suivants ne peuvent pas être renseignés vide. L'illustration suivante indique que la structure est verrouillée, le verrouillage des fenêtres étant celui par défaut puisque non renseigné
Pièce jointe 576483
Lorsqu'ils sont nommés, on les présente dans l'ordre que l'on veut et l'on ne doit pas prévoir les trous pour les facultatifs.
Pièce jointe 576476
Pièce jointe 576477
Au vu des explications qui précèdent, les deux lignes suivantes sont équivalentes
Pièce jointe 576485
Perso, je préfère utiliser les arguments nommés pour améliorer la lisibilité et la compréhension du code (mais je ne le fais pas systématiquement :oops: )
-
Bonjour Pierre,
Certes, il n'y avait que 2 True (ma mémoire m'a trahi).
Réponse très précieuse, Ô combien instructive et au-delà de mes attentes.
Merci beaucoup !!
cordialement,
jp
PS : userinterfaceonly:=True ne s'utilise que pour une protection de Feuille et non de Classeur, n'est-ce pas ?
Si c'est bien le cas, il est pourtant parfois nécessaire de déprotéger un classeur pendant une procédure et on ne peut pas "profiter" du bénéfice qu'offre userinterfaceonly:=True pour les Feuilles.