Date d’EXPIRATION et autodestruction de fichier EXCEL

Comment ajouter une date d'expiration à un fichier Excel?

Dans de nombreuses situation, notamment dans le milieu professionnel, il est fort utile d'attribuer une date d'expiration (ou date de validité si vous préférez) à vos rapports, vos fichiers de données etc.. Et, même si cette possibilité n'est pas très connue, il est possible d'utiliser une date d'expiration de fichier Excel. Ce n'est pas bien compliqué et cela peut vous éviter de nombreux problèmes comme:

  • les anciennes versions de rapports qui se "baladent" quelque part dans l'entreprise sans que vous le sachiez
  • les versions obsolètes des outils Excel/VBA que les utilisateurs ont en copie sur leur ordinateur
  • les fichiers à usage temporaire qui seraient utilisés à des fins inappropriés

Voici donc les explication comment procéder…

Comment faire: La date d'expiration de fichier Excel & l'autodestruction de fichiers Excel

Pour pouvoir attribuer une date de validité à un fichier Excel (ou pour assurer son autodestruction après une datte donnée), il faudra utiliser le langage VBA. Si vous êtes familier avec VBA, vous trouverez tout ce qui vous faut plus loin sur cette page (les exemples du code VBA).

Si le terme "VBA" ne vous évoque pas grande chose, sachez qu'avec les explications qui suivent, vous y arriverez sans trop de difficultés.

Utilisation de fichier XLSM

Comme il nous faudra utiliser le VBA, cela implique que le fichier avec une date de validité/expiration devra être enregistré sous le format (et donc suffixe) .XLSM et non .XLSX. En soi, cela ne change pas grande chose pour l'utilisateur si ce n'est que, selon la configuration de sécurité de son système, il devra peut-être autoriser l'utilisation des macros.

Le code VBA de base qui permet de déclencher une expiration de fichier Excel

Si vous vous y connaissez en VBA, rien de plus simple: il suffit de copier/coller le code qui suit dans l'objet ThisWorkbook de votre Classeur

Si vous n'y vous connaissez pas, voici comment procéder:

  • Ouvrez l'éditeur VBA à partir de votre classeur Excel en appuyant sur Alt + F11
  • À gauche, accédez à l'objet ThisWorkbook en ouvrant le VBAProject avec le nom de votre Classeur et ensuite en ouvrant le "dossier" Microsoft Excel Objects en cliquant dessus.
  • Double-cliquez sur ThisWorkbook et dans la fenêtre vide sur votre écran, collez le code VBA qui se trouve ci-dessous.
  • N'oubliez pas de sauvegarder votre Classeur si nécessaire.

Cette capture d'écran devrait être assez parlante:

Excel VBA: date d'expiration - à placer dans ThisWorkbook


Et voici déjà le code VBA de base. Il affichera un message dans le cas où la date d'expiration choisie est dépassée.

 

Actions à effectuer lors de l'expiration de fichier Excel

Il est possible d'attendre notre objectif (c'est-à-dire rendre le fichier Excel inutilisable après une date précise) de plusieurs manières. En voici deux le plus simples.

Fermeture automatique à l'ouverture de fichier Excel

Le code qui suit fait en sorte que dès l'ouverture de fichier, la date est contrôlée et si la condition de validité n'est pas remplie, le fichier se ferme automatiquement sans que l'utilisateur puisse intervenir.

Code à placer dans l'objet  ThisWorkbook de votre Classeur:

 

Suppression du contenu lors de l'ouverture de fichier

Le code ci-dessous va plus loin. De manière générale, il est impossible que le fichier "se supprime soi-même" après la date d'expiration. Par contre, ce qui est possible c'est le déclenchement d'une procédure qui supprimera tout le contenu du fichier et effectuera une sauvegarde du fichier pour rendre ce changement permanent.

Ce code est à placer dans l'Objet "ThisWorkbook" (comme expliqué pour le code de base plus haut).

Autodestruction pure et simple du fichier Excel

Et voici la solution la plus radicale – le fichier Excel peut se supprimer lui-même du disque. En gros, le fichier peut s'auto-effacer!

Le code d'autodestruction se trouve dans les lignes 13-18. Ce code est inséré dans la structure de base (voir plus haut). Le tout est à placer dans l'Objet "ThisWorkbook" de votre Projet VBA…

Ceci est l'étape ultime – à utiliser avec précaution!

Quelques remarques pratiques

Les exemples que je vous ai présentés, ainsi que toute cette approche, représentent une base qui va satisfaire la grande majorité d'utilisateurs. Vous pouvez utiliser sans problèmes dans les cas où vous ne vous attendez pas à ce que quelqu'un essaie de "forcer" votre protection. Si vous voulez protéger vos données de manière maximale, il faudra compléter cette approche par d'autres moyens pour dissuader les utilisateurs malveillants.

Voici comment rendre l'expiration d'un fichier Excel la plus fiable possible.

  • Le premier pas: protéger votre code VBA (= les macros) par un mot de passe. Ainsi, l'utilisateur ne pourra pas venir trifouiller. Voici le tutoriel comment protéger son code VBA.
  • Pour empêcher l'utilisateur de voir le contenu avant la vérification de la date d'expiration du fichier, on a deux choses à faire:
    • Plutôt que d'empêcher l'utilisateur de voir les données après l'expiration, on fait le contraire. On cache les données dès le départ et on ne les affiche que lorsque la vérification de date d'expiration est faite et qu'elle est positive.
    • Pour que cela marche correctement, on laisse une Feuille vide visible et on cache toutes les autres. Attention, il ne s'agit pas de les "masquer" mais bien de les "cacher".
      Quelle est la différence? Et comment faire? Vous trouverez toute l'information dans ce Tutoriel sur la visibilité des Feuilles dans Excel.

    Cela empêchera également l'accès aux données dans le cas ou l'utilisateur interdira l'utilisation des macros ce qui empêchera la vérification si le fichier est expiré ou pas!

Conclusion

Vous voici donc avec un fichier Excel que vous pouvez lâcher dans la nature tout en étant tranquille en ce qui concerne sa validité et sa date d'expiration. Ce n'est pas très compliqué et cela rend la vie, notamment dans une entreprise, un peu plus tranquille. Il s'agit d'une de nombreuses possibilités peu connues de public. Et dorénavant, vous faites partie de ceux qui savent que c'est possible et surtout de ceux qui savent comment faire. Une belle occasion d'impressionner vos collègues et votre hiérarchie! 😉

Pour aller plus loin dans l'utilisation d'Excel

Et pour finir, voici d'autres articles qui pourraient vous intéresser dans le but d'une meilleure maîtrise d'Excel et de VBA

 

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

23 commentaires sur “Date d’EXPIRATION et autodestruction de fichier EXCEL”