Protéger de nombreuses feuilles de calcul (Microsoft Excel)
Andre a un classeur qui contient 52 feuilles de calcul. Il souhaite protéger les feuilles de calcul, mais pas le classeur lui-même. Actuellement, il protège individuellement les 52 feuilles. Il se demande s’il existe un moyen de les protéger tous en une seule fois.
La seule façon de faire est d’utiliser une macro. Heureusement, la macro est assez courte:
Sub ProtectAllSheets() Dim ws As Worksheet For Each ws In Worksheets ws.Protect Next End Sub
Lorsque vous exécutez cette macro, toutes les feuilles de calcul du classeur sont protégées, sans spécifier de mot de passe. (Cela signifie que n’importe qui peut facilement les déprotéger.) Si vous souhaitez spécifier un mot de passe, vous pouvez le faire avec une modification simple:
Sub ProtectAllSheets() Dim ws As Worksheet For Each ws In Worksheets ws.Protect Password:="MyPassword" Next End Sub
Le mot de passe que vous spécifiez sera utilisé pour chacune des feuilles de calcul, ce qui signifie que toutes utiliseront le même mot de passe.
Vous pouvez facilement modifier ces macros pour déprotéger toutes vos feuilles de calcul en changeant simplement la méthode .Protect en .Unprotect.
Vous devez également savoir que si votre classeur ou vos feuilles de calcul utilisent certaines options qui empêchent la protection de la feuille de calcul (comme le partage), les macros généreront une erreur.
Une approche totalement différente consiste à utiliser un utilitaire tiers pour effectuer la protection. Vous pouvez trouver de tels utilitaires avec une recherche rapide sur Internet; un exemple serait Asap Utilities (http://www.asap-utilities.com).
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (7511) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.