Lorsque vous protégez une feuille de calcul, Excel vous permet de définir ce que l’utilisateur peut faire dans cette feuille de calcul protégée. À l’aide des cases à cocher de la boîte de dialogue Protéger la feuille, vous pouvez choisir une grande variété d’actions autorisées. (Voir la figure 1.)

image

Figure 1. La boîte de dialogue Protéger la feuille.

L’une des actions autorisées dans la boîte de dialogue Protéger la feuille consiste à insérer et à supprimer des lignes et des colonnes dans une feuille de calcul protégée. C’est une fonctionnalité intéressante pour certains types de feuilles de calcul. Mais il y a quelque chose d’étrange dans la façon dont cette fonctionnalité fonctionne réellement.

Disons que vous créez une feuille de calcul et que vous la protégez. Ce faisant, vous indiquez que les utilisateurs peuvent insérer et supprimer des lignes dans la feuille de calcul protégée. Lorsque quelqu’un essaie d’insérer une ligne dans la feuille de calcul protégée, il s’insère très bien. Si quelqu’un essaie de supprimer une ligne, même la ligne qu’il vient d’insérer, l’action n’est pas autorisée; cela ne peut pas être fait.

Ce qui donne? Vous avez indiqué dans la boîte de dialogue Protéger la feuille que les utilisateurs pouvaient supprimer des lignes, mais Excel ne vous permet toujours pas de le faire.

La raison semble être liée à la façon dont Excel implémente la protection des feuilles de calcul. N’oubliez pas que la protection est appliquée à toutes les cellules mises en forme comme verrouillées dans l’onglet Protection de la boîte de dialogue Format de cellule. Si une cellule d’une ligne que vous essayez de supprimer est formatée comme verrouillée, la protection de la feuille de calcul ne vous permettra pas de supprimer la ligne. Si toutes les cellules de la ligne ont la case à cocher Verrouillé désactivée, la ligne peut être supprimée avec succès. (Voir la figure 2.)

image

Figure 2. L’onglet Protection de la boîte de dialogue Format de cellule.

Fait intéressant, l’utilisateur ne peut pas supprimer une ligne qu’il a ajoutée car la ligne ajoutée hérite du formatage de cellule de la ligne au-dessus. Ainsi, s’il y a des cellules verrouillées dans la ligne au-dessus de la ligne insérée, la ligne insérée ne peut pas être supprimée tant que la feuille de calcul est protégée.

Ce comportement, bien sûr, n’est pas très utile pour tout développeur de feuille de calcul qui souhaite vraiment que les gens aient la possibilité de supprimer des lignes dans une feuille de calcul, que les cellules des lignes soient verrouillées ou non. Si vous faites partie de ces personnes, la seule chose que vous pouvez faire est de créer une macro qui effectue la suppression pour vous. La macro doit accomplir les étapes suivantes:

  1. Déprotégez la feuille de calcul. Supprimez la ligne. Protéger à nouveau la feuille de calcul

Ces trois étapes sont relativement faciles à effectuer, en utilisant des techniques décrites dans d’autres numéros de ExcelTips. Pour rendre la macro utile, vous voudrez probablement ajouter du code qui garantit que l’utilisateur n’essaye pas de supprimer les lignes que vous ne voulez pas qu’il fasse supprimer (en-têtes, totaux, etc.).

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (10315) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Inserting_and_Deleting_Rows_in_a_Protected_Worksheet [Insertion et suppression de lignes dans une feuille de travail protégée].