Ouvrir le fichier de Vendredi qd c'est Lundi

piotr1980 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
Chris 94 Messages postés 1937 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour tout le monde,

J'ai un petit problme avec ma nouvelle macro. Une de fonctions de macro est d'ouvrir automatiquement un fichier de la veille. Par exemple, si le jour de la semaine est un Mardi la mcro ouvre le fichier de Lundi, si Mercredi elle ouvre celui de Mradi etc.

pour cela j'utilise le code suivant :
Workbooks.Open [Attachpaths] & Format(Date - 1, "yyyymmdd") & ".xls", False, True

ou Attachpaths est G:\SPB\Credit reports\Prod\CR_

Le probleme apparait quand le jour de la semaine est un Lundi. Dans ce cas, la macro ne doit pas ouvrir le fichier de Dimache (car il n'existe pas) mais aller et ouvrir directment le fichier de Vendredi.

Aurriez vous une idee comment le faire. Je crois qu'il faut utiliser une forumle ''If' et l'ajouter a mon code

Merci bcp pour vos suggestions.

Piotr
A voir également:

1 réponse

Chris 94 Messages postés 1937 Date d'inscription   Statut Modérateur Dernière intervention   7 351
 
Bonjour,

Ici Forum MacOS ! Votre question n'est peut-être pas compatible avec nos (brillantes) compétences... ;-)

A vue de nez quand même, si vous incrémentez un compteur à chaque ouverture pour attribuer [ne me demandez pas comment] le résultat au fichier à ouvrir le lendemain...
— Mardi = jour 2 ——> ouvrir fichier jour 1
— Mercredi = jour 3 ——> ouvrir fichier jour 2
• ... vendredi : sauvegarde du fichier jour 5 et remise à 0 du compteur
• ... lundi : incrémentation du compteur qui passe à 1
• condition : si jour 1 alors ouvrir fichier jour 5
— Lundi = jour 1 ——> ouvrir fichier jour 5 c'est-à-dire celui du vendredi.

C'est grossier. Il faut peut-être glisser des conditions astucieuses au bon endroit de la boucle correcte. Il ne doit pas falloir rater une journée sous peine de décaler les ouvertures (test de date sur l'horloge interne et correction en conséquence ?).

Cordialement.
0