Macro pour protéger les feuilles du classeur, Excel vba

Si vous avez saisi des données importantes sur votre feuille de calcul et que vous souhaitez la protéger contre toute modification par d’autres personnes, vous pouvez attribuer un mot de passe à votre feuille de calcul.

Sub interrupteurdeprotectiondefeuilleactive()
  ActiveSheet.Protect Password: = "text", _
  DrawingObjects: = True, Contents: = True, Scenarios: = True
End Sub

Il vaut la peine d’examiner de plus près la syntaxe de la méthode Protect:

ActiveSheet.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly)

Commentaires

■ Dans l’argument Password, vous spécifiez une chaîne de caractères qui définit le mot de passe majuscules / minuscules pour la feuille ou le classeur. Si vous omettez cet argument, la feuille ou le classeur peut être déprotégé sans spécifier de mot de passe. Toutefois, si vous attribuez un mot de passe, le mot de passe doit être spécifié afin de supprimer la protection de la feuille ou du classeur.

■ Avec l’argument DrawingObjects, vous déterminez si, en plus de vos cellules, vous souhaitez également des formes telles que les flèches de bloc, les étoiles ou les bannières. Cependant, ces formulaires ne sont pas protégés par défaut. Si vous souhaitez protéger les formes, définissez l’argument sur True.

■ Avec l’argument Contents, qui est défini sur True par défaut, les cellules d’une feuille de calcul sont protégées.

■ L’argument Scenarios s’applique uniquement aux feuilles de calcul et signifie que certaines vues et certains paramètres, tels que le zoom réglé peut être protégé. Le paramètre par défaut est également True.

■ Le dernier argument UserInterFaceOnly prend la valeur True. Cela protège l’interface utilisateur, mais pas les macros. Si cet argument n’est pas spécifié, la protection des macros et de l’interface utilisateur s’applique.

Supprimer la protection de la feuille de calcul

Pour désactiver la protection de la feuille de calcul, il suffit de saisir le mot de passe de la méthode Unprotect. Si vous avez protégé votre feuille de calcul sans mot de passe, la commande ActiveSheet.Unprotect est suffisante.

Sub interrupteurprotectionlamedesactive ()
     ActiveSheet.Unprotect ("test")
  End Sub

Protéger toutes les feuille de calcul d’un classeur

Si vous souhaitez protéger toutes les feuilles d’un classeur et utiliser le même mot de passe, vous pouvez utiliser la macro suivante:

Sub motdepassepourtouteslesfeuilles ()
Dim ab As Long
Dim i As Long
  ab = ActiveWorkbook.Worksheets.Count
  For i = 1 To ab
   Sheets (i) .Protect DrawingObjects: = True, _
   Contents: = True, _
   Scenarios: = True, password: = "test"
  Next i
End Sub

Pour supprimer la protection de feuille pour toutes les feuilles d’un classeur, démarrez la macro suivante:

Sub Motpassesupprimertouteslesfeuilles ()
Dim ab As Long
Dim i As Long
     ab = ActiveWorkbook.Worksheets.Count
     For i = 1 To ab
       Sheets (i).Unprotect("test")
     Next i
End Sub

Effectuer des tâches malgré la protection

Une fois que la protection de feuille a été définie pour une feuille de calcul, certaines actions, telles que la suppression et le formatage des données, ne peuvent plus être effectuées. Si vous devez encore apporter des modifications aux feuilles de calcul protégées, supprimez temporairement la protection de feuille, exécutez la tâche et réinstallez la protection de feuille. L’exemple suivant vérifie l’orthographe d’une feuille protégée.

Sub effectuerlestaches ()
  ActiveSheet.Unprotect
  Cells.CheckSpelling CustomDictionary: = "USER.DIC", _
  IgnoreUppercase: = False, AlwaysSuggest: = True
  ActiveSheet.Protect DrawingObjects: = True, _
  Contents: = True, Scenarios: = True
End Sub

Dans la première étape, supprimez la protection de feuille de la table active. Utilisez ensuite la méthode CheckSpelling, qui est exécutée pour toutes les cellules de la feuille de calcul. Enfin, réglez à nouveau le protège-lame. La méthode CheckSpelling a la syntaxe:

Ausdruck.CheckSpelling(CustomDictionary, IgnoreUppercase, AlwaysSuggest, SpellLang)

Commentaires

■ L’argument CustomDictionary du type de données Variant est facultatif et représente une chaîne de caractères qui spécifie le nom de fichier du dictionnaire utilisateur dans lequel se trouve un mot qui ne peut pas être trouvé dans le dictionnaire standard. Si l’argument est omis, le dictionnaire actuellement spécifié est utilisé.

■ L’argument IgnoreUppercase, de type de données Variant, est également facultatif. Si la valeur est définie sur True, Excel ignore tous les mots en majuscules. Si la valeur est définie sur False, Excel vérifie également les mots écrits en majuscules.

■ L’argument AlwaysSuggest, de type de données Variant, est facultatif. Si la valeur est définie sur True, Excel affiche une liste d’orthographes alternatives si un mot mal orthographié est trouvé. Si la valeur est définie sur False, Excel attend que le mot correctement écrit soit entré.

■ L’argument SpellLang spécifie la langue du dictionnaire utilisé.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x