Microsoft 365 Exécution Macro selon conditions Date

eric72

XLDnaute Accro
Bonjour à tous,
J'aimerais exécuter une macro le 1er jour d'ouverture du fichier de l'année, exemple si je l'ouvre le 01/01 alors la macro se déclenche, mais si je ne l'ouvre que le 02/01 elle se lance aussi, mais qu'une seule fois!!
j'ai beaucoup cherché et je n'ai pas trouvé de solution, quelqu'un a t il une idée géniale à ce sujet?
Merci beaucoup pour votre dévouement.
Eric
 

Jacky67

XLDnaute Barbatruc
Bonjour à tous,
J'aimerais exécuter une macro le 1er jour d'ouverture du fichier de l'année, exemple si je l'ouvre le 01/01 alors la macro se déclenche, mais si je ne l'ouvre que le 02/01 elle se lance aussi, mais qu'une seule fois!!
j'ai beaucoup cherché et je n'ai pas trouvé de solution, quelqu'un a t il une idée géniale à ce sujet?
Merci beaucoup pour votre dévouement.
Eric
Bonjour,
Une Piste en vba
La macro dans le classeur en pJ ne sera exécutée qu'une seule fois si le classeur( enregistré) est ouvert plusieurs fois le jour même.
A adapter
 

Pièces jointes

  • lanceurMacro.xlsm
    14.7 KB · Affichages: 6
Dernière édition:

eric72

XLDnaute Accro
Bonjour,

Merci beaucoup pour ce retour, mais je ne vois pas ou faire référence à la date que je souhaite, pour exemple : du 01/01 à???(le 1er jour de l'année ou je l'ouvre)
je ne suis pas très doué!!! je vous l'accorde...
Eric
 

Jacky67

XLDnaute Barbatruc
Bonjour,

Merci beaucoup pour ce retour, mais je ne vois pas ou faire référence à la date que je souhaite, pour exemple : du 01/01 à???(le 1er jour de l'année ou je l'ouvre)
je ne suis pas très doué!!! je vous l'accorde...
Eric
Re..
Dans mon exemple, il est fait référence à la date d'ouverture du classeur.
La date s'inscrit dans le gestionnaire de nom sous le nom "ladate" en numérique peu importe à quel moment le classeur est ouvert.
Pour remettre à zéro la date , il suffit de supprimer ce nom, il sera recréé à la prochaine ouverture du classeur
 

eric72

XLDnaute Accro
Merci pour le mal que vous vous donnez pour m'expliquer, mais je ne comprends toujours pas comment lancer une macro lorsque j'ouvrirais le fichier le 01, 02 ou 03 janvier 2022 afin de sauvegarder mes données
Je suis vraiment désolé, cela vous embête t il de mettre dans votre exemple la référence de date pour que cela se déclenche chaque début d'année.
Désolé d'abuser, merci 1000 fois pour votre aide.
Eric
 

Jacky67

XLDnaute Barbatruc
Merci pour le mal que vous vous donnez pour m'expliquer, mais je ne comprends toujours pas comment lancer une macro lorsque j'ouvrirais le fichier le 01, 02 ou 03 janvier 2022 afin de sauvegarder mes données
Je suis vraiment désolé, cela vous embête t il de mettre dans votre exemple la référence de date pour que cela se déclenche chaque début d'année.
Désolé d'abuser, merci 1000 fois pour votre aide.
Eric
Re,
Dans mon exemple la macro est automatiquement exécutée à l'ouverture du classeur que ce soit le 01, 02, 03 ou la date du jour et à la première ouverture du classeur , ensuite, la macro ne sera exécuté que si la date du jour est différente de la date de la dernière ouverture.
Si ce n'est pas ce fonctionnement qui est demandé , merci de préciser.
 

eric72

XLDnaute Accro
En effet j'ai dû mal m'exprimer,
Chaque début de nouvelle année, lors de la 1ère ouverture, se lance une macro qui me permet de faire une sauvegarde de mon fichier et de remettre les données de celui ci à 0
Tout en sachant que je ne suis pas sur de l'ouvrir le 01 janvier mais peut-être le 2 ou le 3 selon les années
J'espère avoir été plus clair!!!
Désolé
 

Jacky67

XLDnaute Barbatruc
Voilà le fichier, la macro c'est "SauvegardeAnnuelle", c'est celle -ci que j'aimerais lancer le 1er jour de l'année civile ou le fichier sera ouvert.
Merci
Eric
Re..
Ligne à ajouter à l'ouverture
VB:
Private Sub Workbook_Open()
    Dim fichier As Workbook
    If Year(Date) > Year(ThisWorkbook.BuiltinDocumentProperties("Last Save Time")) Then Call FichierSauvegarde
    Set fichier = Application.Workbooks.Open("C:\Users\Utilisateur\OneDrive\Bureau\FITECO\METAIS Cedric\Devis METAIS Cédric.xlsm")
    ThisWorkbook.Activate
    Call creerSommaire
End Sub
Fonctionnement:
Si l'année en court est plus grande que l'année de la dernière sauvegarde du classeur alors la macro "FichierSauvegarde" est exécutée
Pour tester mettre If Year(Date)+1>.......
 
Dernière édition:

Discussions similaires

Réponses
19
Affichages
2 K

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG