Comment PROTÉGER / DÉPROTÉGER une feuille à l’aide de VBA ?
Dans VBA, il existe la méthode PROTECT que vous pouvez utiliser avec une feuille. Dans cette méthode, vous avez la possibilité de protéger une feuille, avec ou sans mot de passe. Et vous pouvez également protéger un objet de la feuille. Nous verrons tout cela en détail dans ce tutoriel.
Dans le didacticiel, nous verrons comment protéger et déprotéger une seule feuille ou plusieurs feuilles à l’aide d’un code VBA.
Écrire un code VBA pour protéger une feuille
Pour protéger une feuille, vous devez d’abord spécifier la feuille, puis utiliser la méthode de protection. Voici les étapes.
- Utilisez l’objet feuilles pour spécifier la feuille.
- Entrez le nom de la feuille que vous souhaitez protéger.
- Tapez un point pour obtenir la liste des méthodes et des propriétés.
- Sélectionnez la méthode de projet ou saisissez-la.
Sheets("Sheet1").Protect
Liens utiles : Exécuter une macro – Enregistreur de macros – Visual Basic Editor – Manuel de macros personnelles
Écrire un code VBA pour déprotéger une feuille
Pour protéger une feuille, vous devez d’abord spécifier la feuille, puis utiliser la méthode de déprotection. Voici les étapes.
- Spécifiez la feuille à l’aide de l’objet feuille.
- Et puis, entrez le nom de la feuille que vous souhaitez protéger.
- Entrez un point pour obtenir la liste des méthodes et des propriétés.
- Sélectionnez la méthode « Déprotéger » ou saisissez-la.
Sheets("Sheet1").Unprotect
Protéger une feuille avec un mot de passe
Si vous souhaitez définir un mot de passe tout en protégeant une feuille, dans ce cas, vous devez utiliser l’argument mot de passe pour spécifier un mot de passe. Supposons que vous souhaitiez définir un mot de passe « test123 » sur la feuille pour la protéger, le code serait comme celui ci-dessous.
Sheets("Sheet1").Protect Password:="test123"
Déprotéger une feuille avec un mot de passe
De la même manière, si vous souhaitez déprotéger une feuille, vous devez mentionner le mot de passe dans l’argument mot de passe. Disons que le mot de passe que vous avez utilisé pour protéger la feuille est « ADSBP » donc le code pour la déprotéger serait comme ci-dessous.
Sheets("Sheet1").Unprotect Password:="ADSBP"
Il y a une chose dont vous devez faire attention, faites attention à la lettre majuscule car VBA fait la différence entre les lettres majuscules et minuscules.
Autres choses à savoir
Comme je l’ai dit, nous utilisons la méthode « Protect » de VBA, et il existe des arguments autres que « Mot de passe » avec cette méthode que vous pouvez utiliser.
expression.Protect (Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables)
- DrawingObjects : Pour protéger et déprotéger les formes.
- Contenu : POUR protéger les cellules qui sont verrouillées et l’ensemble du graphique.
- Scénarios : pour protéger les scénarios dans la feuille de calcul.
- UserInterfaceOnly : pour protéger uniquement l’interface utilisateur, pas les macros.
- AllowFormattingCells : pour permettre à l’utilisateur d’appliquer une mise en forme aux cellules.
- AllowFormattingColumns : pour permettre à l’utilisateur d’appliquer une mise en forme aux colonnes.
- AllowFormattingRows : pour permettre à l’utilisateur d’appliquer une mise en forme aux lignes.
- AllowInsertingColumns : pour permettre à l’utilisateur d’insérer de nouvelles colonnes.
- AllowInsertingRows : Pour permettre à l’utilisateur d’insérer de nouvelles lignes.
- AllowInsertingHyperlinks : Pour permettre à l’utilisateur de créer des hyperliens.
- AllowDeletingColumns : pour permettre à l’utilisateur de supprimer des colonnes.
- AllowDeletingRows : pour autoriser l’utilisateur à supprimer des lignes.
- Autoriser le tri : pour permettre à l’utilisateur de trier les lignes, les colonnes et les tableaux.
- AllowFiltering : Pour autoriser le filtrage des colonnes.
- AllowUsingPivotTables : pour permettre à l’utilisateur d’utiliser un tableau croisé dynamique.
Remarques
- Assurez-vous d’utiliser des mots de passe forts qui combinent des lettres majuscules et minuscules, des chiffres et des symboles.
- Si vous oubliez votre mot de passe, Microsoft ne peut pas le récupérer. Alors, assurez-vous d’écrire votre mot de passe quelque part dans un endroit sûr.
- Si une feuille est protégée sans mot de passe et que vous souhaitez maintenant la protéger avec un mot de passe, vous devez d’abord la déprotéger. Et reprotégez-le ensuite avec un mot de passe en utilisant le code que vous avez vu ci-dessus.