Feuille de protection VBA

Feuille de protection Excel VBA

Nous pouvons protéger la feuille Excel en utilisant le code vba qui ne permet pas à l'utilisateur d'apporter des modifications aux données de la feuille de calcul, tout ce qu'il peut faire est simplement de lire le rapport. Pour cela, nous avons une méthode vba intégrée appelée «Protect».

Tout comme nous protégeons nos feuilles de calcul dans Excel, nous pouvons également utiliser VBA pour protéger nos feuilles de calcul, cela se fait en utilisant une instruction .protect, il existe deux méthodes pour protéger la feuille, l'une est avec un mot de passe et l'autre sans mot de passe, la syntaxe pour protéger une feuille de calcul se présente comme suit Feuilles de calcul (). Protéger le mot de passe.

Nous partageons généralement le rapport final final avec l'utilisateur ou le lecteur. Lorsque nous partageons le rapport final final avec l'utilisateur, nous souhaitons que l'utilisateur n'apporte aucune modification ou ne manipule pas le rapport final. Dans un tel scénario, tout est question de confiance, n'est-ce pas?

Syntaxe

La protection de la feuille implique divers paramètres pour fournir, contrairement à la déprotection de la feuille. Regardons la syntaxe de la méthode Protect avec un mot de passe.

Sensationnel!!! Ne soyez pas intimidé en regardant la syntaxe. Jetez un œil à l'explication de chaque argument ci-dessous.

  • Nom de la feuille de travail: nous devons d'abord mentionner la feuille de travail que nous allons protéger.
  • Mot de passe: nous devons entrer le mot de passe que nous utilisons pour protéger. Si nous ignorons ce paramètre, Excel verrouillera la feuille sans mot de passe et tout en déprotégeant la feuille, il déprotégera sans demander de mot de passe.
  • Remarque: souvenez-vous du mot de passe que vous donnez, car si vous l'avez oublié, vous devez passer par différentes méthodes difficiles.
  • Objet de dessin: si vous souhaitez protéger des objets dans la feuille de calcul, vous pouvez passer l'argument comme TRUE ou FALSE. La valeur par défaut est TRUE.
  • Contenu: pour protéger le contenu de la feuille de calcul, définissez le paramètre sur TRUE ou sur FALSE. La valeur par défaut est FALSE. Cela protégera uniquement les cellules verrouillées. La valeur par défaut est TRUE.
  • Scénarios: s'il existe des analyses hypothétiques dans des scénarios Excel, nous pouvons également les protéger. Pour protéger VRAI ou FAUX. La valeur par défaut est TRUE.
  • Interface utilisateur uniquement: si vous souhaitez protéger l'interface utilisateur autre que la macro, elle doit être TRUE. Si cet argument est omis, il protégera à la fois les macros et l'interface utilisateur. Si vous définissez l'argument sur TRUE, il protégera uniquement l'interface utilisateur. La valeur par défaut est FALSE.
  • Autoriser le formatage des cellules: si vous souhaitez autoriser l'utilisateur à formater la cellule, vous pouvez définir le paramètre sur TRUE ou sur FALSE. La valeur par défaut est FALSE.
  • Autoriser la mise en forme des colonnes: si vous souhaitez autoriser l'utilisateur à formater n'importe quelle colonne de la feuille protégée, vous pouvez définir le paramètre sur TRUE ou bien FALSE. La valeur par défaut est FALSE.
  • Autoriser la mise en forme des lignes: si vous souhaitez autoriser l'utilisateur à formater n'importe quelle ligne de la feuille protégée, vous pouvez définir le paramètre sur TRUE ou sur FALSE. La valeur par défaut est FALSE.
  • Autoriser l' insertion de colonnes dans VBA: vous souhaitez autoriser l'utilisateur à insérer de nouvelles colonnes, vous devez le définir sur TRUE. La valeur par défaut est FALSE.
  • Autoriser les lignes d'insertion: si vous souhaitez autoriser l'utilisateur à insérer de nouvelles lignes, vous devez le définir sur TRUE. La valeur par défaut est FALSE.
  • Autoriser l'insertion d'hyperliens: si vous souhaitez autoriser l'utilisateur à insérer des hyperliens, vous devez le définir sur TRUE. La valeur par défaut est FALSE.
  • Autoriser la suppression de colonnes: si vous souhaitez autoriser l'utilisateur à supprimer des colonnes dans VBA, vous devez le définir sur TRUE. La valeur par défaut est FALSE.
  • Autoriser la suppression de lignes: si vous souhaitez autoriser l'utilisateur à supprimer des lignes, vous devez le définir sur TRUE. La valeur par défaut est FALSE.
  • Autoriser le tri: si vous souhaitez autoriser l'utilisateur à trier les données, vous devez le définir sur TRUE. La valeur par défaut est FALSE.
  • Autoriser le filtrage: si vous souhaitez autoriser l'utilisateur à filtrer les données, vous devez le définir sur TRUE. La valeur par défaut est FALSE.
  • Autoriser l'utilisation des tableaux croisés dynamiques: si vous souhaitez autoriser l'utilisateur à utiliser les tableaux croisés dynamiques, vous devez le définir sur TRUE. La valeur par défaut est FALSE.

Comment protéger la feuille à l'aide du code VBA?

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

Étape 1: Sélectionnez la feuille qui doit être protégée

Pour protéger la feuille, la première étape consiste à décider de la feuille que nous devons protéger à l'aide d'un mot de passe et nous devons appeler la feuille par son nom à l'aide de vba Worksheet Object.

Par exemple, supposons que vous souhaitiez protéger la feuille nommée «Feuille principale», vous devez alors mentionner le nom de la feuille de calcul comme ci-dessous.

Étape 2: définir une variable de feuille de calcul

Après avoir mentionné le nom de la feuille de calcul, mettez un point, mais nous ne voyons aucune liste IntelliSense avec laquelle travailler, cela rend le travail difficile. Pour accéder à la liste IntelliSense, la variable est définie comme une feuille de calcul.

Code:

 Sub Protect_Example1 () Dim Ws As Worksheet End Sub 

Étape 3: Donnez une référence à la feuille de travail

Maintenant, définissez la référence de feuille de calcul à la variable en tant que feuilles de calcul («feuille principale») .

Code:

 Sub Protect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Master Sheet") End Sub 

Maintenant, la variable «Ws» contient la référence de la feuille de calcul nommée «Master Sheet». En utilisant cette variable, nous pouvons accéder à la liste intellisense.

Étape 4: Sélectionnez la méthode de protection

Sélectionnez la méthode «Protéger» dans la liste IntelliSense.

Étape 5: Entrez le mot de passe

Spécifiez le mot de passe entre guillemets.

Code:

 Sub Protect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Master Sheet") Ws.Protect Password: = "MyPassword" End Sub 

Étape 6: Exécutez le code

Exécutez le code manuellement ou en utilisant la touche de raccourci F5 puis, il protégera la feuille nommée «Master Sheet» .

Lorsque la feuille est protégée, si nous voulons apporter des modifications, il affiche un message d'erreur comme indiqué ci-dessous.

Si vous souhaitez protéger plus d'une feuille, nous devons utiliser des boucles, voici l'exemple de code pour protéger la feuille.

 Sub Protect_Example2 () Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets Ws.Protect Password: = "My Passw0rd" Next Ws End Sub 

Remarque: utilisez d'autres paramètres pour expérimenter.