Definir une date d'expiration du fichier
Hello tous,
J'aimerais mettre au point une date d'expiration sur mon fichier excel.
L'idée est d'inscrire dans le classeur une date a la première ouverture par l'utilisateur puis comparer a chaque ouverture cette date avec celle du jour.
Si la date du jour est supérieur de 15j a la date de première ouvreture, alors message "Expiré".
J'ai essayer le code suivant
Option Explicit
Private Sub Workbook_Open()
Dim DateExpiration As Date
Dim DateFirst As Date
If Sheets("Activation_Macro").Range("EI8").Value = "" Then Sheets("Activation_Macro").Range("A8").Value = Date
Set DateFirst = Sheets("Activation_Macro").Range("A8")
Set DateExpiration = DateAdd("d", 15, DateFirst)
If DateExpiration <= Date Then MsgBox (Expiré)
End SubMalheureusement, ça ne fonctionne pas, j'ai un code erreur sur ma variable DateFirst et DateExpiration.
L'indexation de la date en A8, ça finctionne, c'est bon mais je ne dois pas avoir coder correctement le format date de les variable mais je ne comprends pas ou est mon erreur (qui doit etre évidente mais moi, je vois pas).
Voici un fichier test
Je vous remercie par avance pour votre aide
Bonjour,
Que mettez-vous en EI8 ?
Sinon en comparant le contenu de la cellule A8 augmenté de 15 jours avec la date du jour, on a:
Option Explicit
Private Sub Workbook_Open()
Dim DateExpiration As Date
If Sheets("Activation_Macro").Range("A8").Value = "" Then Sheets("Activation_Macro").Range("A8").Value = Date
DateExpiration = Sheets("Activation_Macro").Range("A8").Value + 15
If DateExpiration <= Date Then MsgBox "Expiré"
End SubA adapter si cela ne correspond pas tout à fait à vos besoins, mais l'idée est là.
Cdlt
Hello
Merci pour la réponse
En fait mon fichier Excel qui contiendra ce code va être hébergé sur un serveur et les utilisateurs pourront le télécharger pour l'utiliser sur leurs ordinateurs.
Je souhaiterais mettre en place un système de péremption du fichier pour obliger les utilisateurs à recharger le fichier régulièrement sur le serveur.
Pour cela, j'ai comme idée d'enregistrer dans une cellule la date d'ouverture après téléchargement. Par la suite, lors d'une seconde, troisième, etc. ouverture, la macro compare au lancement du fichier la date enregistrer à la date du jour et si c'est plus que xj, alors message pour demander le téléchargement du fichier.
Sur mon fichier, je souhaitais enregistrer la date de première ouverture en EI8. Je m'excuse, en creant mon fichier exemple, j'ai oublié de transformer un EI8 en A8.
J'espère que du coup c'est plus clair. J'espère aussi que mon idée ne semble pas complètement saugrenue.
Je regarde le code proposé
Encore merci
edit :
Super, merci, ça fonctionne :-)
Je n'aurais jamais pensé sur la cellule+15 suffirait pour ajouter 15j à la date stockée dans la cellule. j'aurais pensé qu'il fallait absolument passer par dateadd pour modifier.
C'est bon à savoir.
Bonne journée