Feuille de protection Excel VBA

La protection d'une feuille de calcul est une tâche importante pour ceux qui travaillent très fréquemment sur Microsoft Excel. C'est une tâche dont vous avez besoin pour protéger votre feuille contre toute modification par un autre utilisateur. Supposons que vous envoyez un rapport à la direction, puis que la direction modifie sciemment ou par erreur les paramètres ou les valeurs via le rapport. Il devient difficile d'identifier le bogue et en même temps, le remaniement est quelque chose qui consomme votre temps. Afin de surmonter ce problème, il est toujours recommandé de protéger une ou plusieurs feuilles pour les éditer à l'aide d'un mot de passe. Cette option vous aide en n'autorisant pas un utilisateur à apporter des modifications dans la ou les feuilles. Vous pouvez également partager le mot de passe avec la personne qui est destinée ainsi qu'autorisée à effectuer les modifications. Bien qu'Excel possède l'option Protéger la feuille de calcul via l'onglet Révision présent sur le ruban Excel, cela devient trépidant lorsque vous avez plus d'une feuille à protéger. Il consommera suffisamment de temps pour protéger chaque feuille une par une. Au lieu de cela, il est recommandé d'écrire un code VBA qui peut protéger une ou plusieurs feuilles de votre classeur pour les modifier.

Syntaxe de la feuille de protection VBA

Cette fonction VBA intégrée associée à la feuille de calcul, vous permet de protéger la feuille à l'aide d'un mot de passe. La syntaxe de la fonction de feuille de protection VBA est la suivante:

Tous les paramètres sont facultatifs dans cette fonction que vous pouvez deviner à travers les crochets au carré mentionnés pour chacun d'eux.

  • Mot de passe: spécifie le mot de passe de la feuille. S'il n'est pas fourni, la feuille sera protégée sans mot de passe et l'utilisateur pourra la modifier sans qu'on lui demande de mot de passe.
  • DrawingObjects: arguments facultatifs qui vous permettent de protéger différentes formes de la feuille de calcul. Prend des valeurs booléennes. Par défaut défini sur FALSE.
  • Contenu: argument facultatif. Protège tous les objets. Par défaut, les valeurs sont définies sur TRUE.
  • Scénarios: protège tous les différents scénarios. La valeur par défaut est définie sur TRUE.
  • UserInterfaceOnly: Il protège l'interface utilisateur mais pas les macros. La valeur par défaut est TRUE si la macro est ignorée, ainsi que l'interface utilisateur sera protégée.
  • AllowFormattingCells: la valeur par défaut est définie sur FALSE car l'utilisateur ne peut pas formater les cellules de la feuille. S'il est défini sur VRAI, l'utilisateur peut formater les cellules de la feuille.
  • AllowInsertingColumns: valeur par défaut définie sur FALSE. S'il est défini sur VRAI, l'utilisateur peut insérer une colonne dans la feuille.
  • AllowInsertingRows: la valeur par défaut est définie sur FALSE. S'il est défini sur VRAI, l'utilisateur peut insérer des lignes dans la feuille.
  • AllowInsertingHyperlinks: la valeur par défaut est définie sur FALSE. S'il est défini sur VRAI, l'utilisateur peut insérer des hyperliens dans la feuille.
  • AllowDeletingColumns: la valeur par défaut est définie sur FALSE. S'il est défini sur VRAI, l'utilisateur peut supprimer n'importe quelle colonne de la feuille.
  • AllowDeletingRows: la valeur par défaut est définie sur FALSE. S'il est défini sur VRAI, l'utilisateur peut supprimer n'importe quel nombre de lignes de la feuille.
  • AllowSorting: la valeur par défaut est définie sur FALSE. S'il est défini sur VRAI, l'utilisateur peut trier les données présentes dans la feuille.
  • AllowFiltering: la valeur par défaut est définie sur FALSE. S'il est défini sur VRAI, l'utilisateur peut filtrer les données présentes dans la feuille.
  • AllowUsingPivotTables: la valeur par défaut est définie sur FALSE. S'il est défini sur VRAI, l'utilisateur peut utiliser et modifier les tableaux croisés dynamiques.

Comment protéger une feuille dans Excel VBA?

Vous trouverez ci-dessous les différents exemples de protection de feuille dans Excel à l'aide de VBA Protect.

Vous pouvez télécharger ce modèle Excel de feuille de protection VBA ici - Modèle Excel de feuille de protection VBA

Feuille de protection VBA - Exemple # 1

Supposons que nous ayons une feuille nommée «Exemple 1» dans un classeur nommé «Feuille de protection VBA». Nous voulons que cette feuille soit protégée par un mot de passe. Pour cela, suivez les étapes ci-dessous:

Étape 1: insérez un nouveau module dans Visual Basic Editor (VBE). Cliquez sur Insérer > sélectionnez Module .

Étape 2: Définissez une nouvelle sous-procédure dans le module.

Code:

 Sub Example_1 () End Sub 

Étape 3: Maintenant, nous devons utiliser la fonction Protect qui peut être appliquée à un objet appelé Worksheet. Démarrez le code avec l'objet Worksheets et tapez le nom d'une feuille de calcul entre parenthèses que vous souhaitez protéger.

Code:

 Sub Example_1 () Feuilles de calcul ("Exemple 1") End Sub 

Étape 4: Maintenant, placez un point après les parenthèses fermantes et utilisez le mot-clé Protect qui lance le processus de protection de la feuille nommée « Exemple 1 ».

Code:

 Sous-exemple_1 () Feuilles de calcul ("Exemple 1"). Protect End Sub 

Vous pouvez vous arrêter ici tout en protégeant une feuille. Comme tous les arguments sont facultatifs, votre feuille sera toujours protégée mais ne demandera pas à l'utilisateur de saisir le mot de passe avant la modification et sera identique à une feuille non protégée. Vous ne voudriez sûrement pas qu'il en soit ainsi. Par conséquent, ajoutez un mot de passe fort pour protéger cette feuille à l'étape suivante.

Étape 5: Entrez le mot de passe du mot de passe et utilisez un mot de passe fort pour protéger cette feuille.

Code:

 Sous-exemple_1 () Feuilles de travail ("Exemple 1"). Protéger le mot de passe: = " " End Sub 

Nous n'utiliserons que le premier argument de la fonction qui est appelée Mot de passe et pour le reste tous les arguments, nous irons avec les valeurs par défaut.

Étape 6: Ca y est, vous pouvez exécuter ce code en appuyant sur F5 ou sur le bouton Exécuter et pouvez voir que le fichier est maintenant protégé et demandera le mot de passe à l'utilisateur dès qu'il essaiera de modifier l'une des cellules.

C'est ainsi que nous protégeons une feuille à l'aide de la fonction VBA Protect.

Feuille de protection VBA - Exemple # 2

Maintenant, nous voulons protéger toutes les feuilles présentes dans un classeur. Pour cela, suivez les étapes ci-dessous:

Étape 1: Définissez une sous-procédure dans le module.

Code:

 Sub Example_2 () End Sub 

Étape 2: définir une nouvelle variable comme feuille de calcul à l'aide de Dim.

Code:

 Sub Example_2 () Dim wrk_sht As Sub de fin de feuille de calcul 

Étape 3: démarrez une boucle For. Cette boucle doit s'exécuter jusqu'à la dernière feuille de calcul du classeur actif.

Code:

 Sub Example_2 () Dim wrk_sht en tant que feuille de calcul pour chaque wrk_sht dans ActiveWorkbook.Worksheets End Sub 

Cette ligne de code sélectionne chaque feuille de calcul du classeur actif et la stocke sous la variable wrk_sht pour chaque itération de la boucle. La boucle se termine dès que la dernière feuille du classeur est sélectionnée et stockée dans la variable wrk_sht. Nous devons définir une opération pour cette boucle. Il protégera sûrement la feuille à l'aide d'un mot de passe.

Étape 4: Maintenant, utilisez la fonction Protect pour protéger les feuilles stockées sous la variable wrk_sht pour chaque itération de la boucle For.

Code:

 Sub Example_2 () Dim wrk_sht en tant que feuille de calcul pour chaque wrk_sht dans ActiveWorkbook.Worksheets wrk_sht.Protect Password: = " " End Sub 

Étape 5: utilisez l'instruction Next, elle permet à la boucle de s'exécuter jusqu'à ce que chaque feuille de calcul soit protégée.

Code:

 Sub Example_2 () Dim wrk_sht en tant que feuille de calcul pour chaque wrk_sht dans ActiveWorkbook.Worksheets wrk_sht.Protect Password: = " " Next End Sub 

Si vous exécutez ce code, chaque feuille de calcul du classeur actif sera protégée par mot de passe et vous devez l'entrer chaque fois que vous souhaitez modifier les feuilles.

Choses dont il faut se rappeler

  • Il est recommandé d'utiliser un mot de passe pendant que vous protégez une feuille. Sinon, l'utilisateur ne sera pas invité à saisir un mot de passe et pourra directement modifier le fichier même si vous l'avez protégé.
  • Il est recommandé de se souvenir du mot de passe. Sinon, l'oublier ne vous permettra jamais de modifier le fichier. Vous devrez peut-être passer par les différentes méthodes si vous perdez le mot de passe et ces méthodes dépassent le cadre de cet article.

Articles recommandés

Ceci est un guide de la feuille de protection VBA. Nous discutons ici de la façon de protéger ou de verrouiller des feuilles à l'aide de la fonction VBA Protect dans Excel, ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Comment renommer une feuille dans Excel VBA?
  2. Étapes pour déprotéger la feuille dans Excel
  3. Feuille d'activation VBA (exemples avec modèle Excel)
  4. Comment copier une feuille Excel?

Catégorie: