[mDF] Comment utiliser le mDF XLcalendar sur feuille Excel protégée ?

Q&R publiée par MyDearFriend! le 24-02-2008

[mDF] Comment utiliser le mDF XLcalendar sur feuille Excel protégée ?

Le mDF XLcalendar permet maintenant l'insertion de dates dans une feuille de calcul protégée et sur les seules cellules non verrouillées.

Une exception toutefois : Excel 2000 ne permet pas cette nouveauté!

Pour pallier à ce problème spécifique Excel 2000, je vous propose une solution de contournement en fin de page ci-dessous.


Permettre le fonctionnement du mDF XLcalendar sur feuilles protégées

Les prérequis
sur Excel 2002 et versions supérieures
:



Excel 2000, l'exception à la règle :

Si vous tentez d'utiliser le mDF XLcalendar (ou une ancienne version mDF Calendrier) sur une feuille protégée (avec ou sans mot de passe) et sur Excel 2000, vous obtenez une Erreur d'exécution '1004' et ce, même si la cellule visée n'est pas verrouillée.

La solution consiste à protéger votre feuille de calcul par le code VBA et en utilisant l'argument UserInterfaceOnly. Votre feuille sera ainsi protégée de toute intervention des utilisateurs tout en autorisant les mises-à-jour par macro.

Attention
: ce mode de protection doit obligatoirement être appliqué à chaque ouverture du classeur. Il est donc impératif d'insérer la procédure suivante dans l'évènement Workbook_Open() de l'objet ThisWorkbook.

Dans l'objet ThisWorkbook :
Private Sub Workbook_Open()
       Sheets("Feuil1").Protect Password:="LeMotDePasse", UserInterfaceOnly:=True
End Sub

Ainsi, à chaque ouverture du classeur cette procédure :

  1. Protége automatiquement l'onglet "Feuil1" avec "LeMotDePasse"
  2. Permet au code VBA d'agir sur toutes les cellules de cette feuille protégée, tout en refusant à l'utilisateur la modification des cellules verrouillées.



Comment faire pour insérer cette procédure ?

Le classeur étant ouvert dans Excel :



Cette Q&R a été trouvée sur myDearFriend! Excel Pages : https://www.mdf-xlpages.com/modules/smartfaq/faq.php?faqid=32