Monsieur Excel
Pour tout savoir faire sur Excel !

27 juillet 2009

Une bombe à retardement…

Il arrive que vous souhaitiez limiter l’accès à un document dans le temps, par exemple réduire ses fonctionnalités, ou bloquer son ouverture, ou même – plus fort encore ! – le détruire, au-delà d’une date limite.

Je vous conseille alors la lecture de l’excellent article « Timebombing A Workbook » de Pearson Software Consulting :
http://www.cpearson.com/excel/WorkbookTimeBomb.aspx

Nous vous proposons ici une brève présentation des diverses procédures pour lesquelles le code VBA est fourni dans cet article tout à fait intéressant.

« TimeBomb With A Defined Name »

Cette procédure définit un nom où est stockée la date de péremption du modèle. Si l’on tente d’ouvrir le modèle après la date limite, il est refermé automatiquement.

« TimeBomb With Suicide »

Avec cette procédure plus radicale, toute tentative d’ouverture du modèle au-delà de la date limite provoque sa destruction physique.

Certes, cette solution est brutale, mais elle évite au moins une réouverture ultérieure du modèle après modification de la date de la machine par l’utilisateur : )

« TimeBomb To Read-Only »

Avec cette troisième procédure, au lieu de fermer le modèle automatiquement ou de le détruire, on se contente de le mettre en « lecture seule » s’il est ouvert au-delà de la date limite.

« TimeBomb With Registry »

Avec cette procédure, la date limite n’est plus inscrite dans un champ nommé du modèle, mais dans le registre système lui-même. Cette procédure est intéressante car on y voit comment modifier le registre système depuis Excel.

Remarque – Bien entendu, pour que ces procédures fonctionnent, il est impératif que l’utilisateur ait un niveau de sécurité acceptant les macros et qu’il les ait autorisées à l’ouverture du modèle.