Incrémenter tous les 3 jours

Résolu
jmst1 Messages postés 41 Statut Membre -  
jmst1 Messages postés 41 Statut Membre -

Bonjour, je desire incrémenter dans un calendrier "tous les 3 jours"

Par exemple:

mardi->puis se répète tous les 3 jours

vendredi->puis se répète tous les 3 jours

lundi->puis se répète tous les 3 jours

jeudi->puis se répète tous les 3 jours

dimanche->puis se répète tous les 3 jours

mercredi->puis se répète tous les 3 jours

samedi->puis se répète tous les 3 jours

mercredi->puis se répète tous les 3 jours

mardi -> l'on recommence

Si possible avec une seul formule.(au lieu de trois)

Merci pour l'idée de génie.

9 réponses

Résumé de la discussion

Le but est de générer, avec une seule formule, un calendrier qui se répète tous les 3 jours à partir d’une date de départ.
Une solution courante propose de placer la date de départ en A1 et d’utiliser en A2 la formule =SI(MOD(AUJOURDHUI()-A1;3)=0;AUJOURDHUI()+3;AUJOURDHUI()-MOD(AUJOURDHUI()-A1;3)+3) pour faire avancer le cycle selon le décalage tri-quotidien.
Pour corriger le décalage avec le jour exact de la tâche, des variantes visent à arrondir la date au prochain jour de tâche lorsqu’aujourd’hui n’en est pas un, et certaines discussions évoquent l’activation du calcul itératif afin d’éviter les boucles circulaires.
Des échanges supplémentaires comparent l’affichage du jour de la tâche et l’alignement du cycle à d’autres schémas (par exemple tous les 15 jours à un samedi) afin de tester le comportement et la robustesse du modèle.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. jee pee Messages postés 31869 Date d'inscription   Statut Modérateur Dernière intervention   9 974
     

    Bonjour,

    Il serait préférable d'avoir un fichier exemple pour bien comprendre la problématique. Car au départ, sur une date, on rajoute 3 jours en simplement faisant +3


    0
  2. jmst1 Messages postés 41 Statut Membre
     

    Bonjour jee pee,

    j'ai fait aujourd'hui+3

    mais demain, il me le répète.

    ce que je désire , c'est partir d'une date et ajouter 3 jours tous les 3 jours 

    0
    1. jee pee Messages postés 31869 Date d'inscription   Statut Modérateur Dernière intervention   9 974
       

      Ne pas utiliser aujourd'hui(). En A1, mettre une date, 09/12/2024, en A2 mettre =A1+3 et dupliquer la formule de A2 à An

      0
  3. PapyLuc51 Messages postés 4567 Date d'inscription   Statut Membre Dernière intervention   1 511
     

    Bonjour,

    En attendant le fichier demandé par jee pee (salutations)

    la date de départ de A1 ; et comme dit plus haut pas la formule AUJOURDHUI() mais la date écrite ou entrée par Ctrl+; au format date longue

    en A2 une seule formule à incrémenter

    =A1+CHOISIR(JOURSEM(A1;2);3;3;3;3;3;3;3)

    Cordialement

    0
    1. jmst1 Messages postés 41 Statut Membre
       

      Bonjour PapyLuc51,

      oui c'est bien cette incrémentation que je cherche, mais , si possible pas avec 7 lignes.
      Mais une seule formule qui incrémente tous les 3 jours (même éphémère) me semble pas possible!

      je n'ai pas besoins de la liste complète de tout le mois, seulement à partir d'un jour, 3 jours après, puis se répétera le jour suivant 

      donc Aujourd'hui  = jeudi

      jeudi se sera = dimanche  

      et dimanche se sera = mercredi

      ainsi de suite...

      0
      1. jee pee Messages postés 31869 Date d'inscription   Statut Modérateur Dernière intervention   9 974 > jmst1 Messages postés 41 Statut Membre
         

        En A1 tu mets une date de départ, 09/12/2024 et en A2 la formule

        =SI(MOD(AUJOURDHUI()-A1;3)=0;AUJOURDHUI()+3;AUJOURDHUI()-MOD(AUJOURDHUI()-A1;3)+3)

        à tester en détail

        0
  4. PapyLuc51 Messages postés 4567 Date d'inscription   Statut Membre Dernière intervention   1 511
     

    re/--

    Je crois comprendre que lorsque tu inscris une date dans une cellule ça doit afficher le troisième jour qui suit lorsque tu valides par Enter.

    Si c'est ça, on part sur une macro et je te laisse aux bons soins des pros du VBA et une copie anonymisée de ton fichier sera utile.

    Me trompe-je ?

    Cordialement

    0
    1. jmst1 Messages postés 41 Statut Membre
       

      Merci PapyLuc51, le VBA ne m'attire pas..

      tu dis: Je crois comprendre que lorsque tu inscris une date dans une cellule ça doit afficher le troisième jour qui suit lorsque tu valides par Enter.

      Presque: par exemple

      aujourd'hui je dois faire une tache.

      ok elle est faite.

      demain cette tache doit être faite dans 2 jours

      Apres demain cette tache doit être faite dans 1 jours

      et après après demain cette tache doit être faite (aujourd'hui [ le cycle de 3 jours recommence])

      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. danielc0 Messages postés 2175 Date d'inscription   Statut Membre Dernière intervention   286
     

    Bonjour à tous,

    Un essai, ,la date d'aujourd'hui en B3 :

    =A3+MOD(LIGNE(A4);2)+1

    à recopier vers le bas

    Daniel


    0
  7. PapyLuc51 Messages postés 4567 Date d'inscription   Statut Membre Dernière intervention   1 511
     

    Autre question : que se passe-t-il si tu as un retard dans l'exécution de la tâche ?

    Dans l'attente l'exemplaire de ton fichier pour travailler dessus.

    Cordialement

    0
    1. jmst1 Messages postés 41 Statut Membre
       

      PapyLuc 51 si elle n'est pas faite, ben, c'est privé de dessert..

      je n'ai pas d'exemple, c'est intégré dans un calendrier où un libellé s'affiche  si la date est égale à "aujourd'hui" ou demain ou après-demain.

      C'est par exemple la 1ere semaine du mois tous les mardi , vendredi,  lundi

      puis jeudi , dimanche, mercredi,

      puis samedi , mardi, vendredi 

      puis lundi , jeudi , dimanche,

      puis mercredi, samedi ,mardi 

      puis vendredi, lundi , jeudi, etc. 

      Si c'etait tous les lundi puis tous les jeudi en 2 lignes c'est réglé.

      mais la, c'est tous les 3 jours, (et pas 3 jours puis 4 jours puis 3j ours ) donc les jours semaines tournent, d'où la difficulté..

      0
  8. danielc0 Messages postés 2175 Date d'inscription   Statut Membre Dernière intervention   286
     

    Sur les indications de PapyLuc51 :

    En A2, ,à recopier vers le bas :

    =A1+MOD(LIGNE(A3);2)+1

    Daniel


    0
    1. jmst1 Messages postés 41 Statut Membre
       

      Il me semble que la solution est celle-ci

      jee pee 9 450 > jmst1
      9 déc. 2024 à 12:02

      En A1 tu mets une date de départ, 09/12/2024 et en A2 la formule

      =SI(MOD(AUJOURDHUI()-A1;3)=0;AUJOURDHUI()+3;AUJOURDHUI()-MOD(AUJOURDHUI()-A1;3)+3)

      à tester en détail

      une simulation me donne bien la progression que je désire.

      la cellule est éphémère jusqu'au 3 jours suivant.

      je teste et je reviens vers vous   

      0
      1. jmst1 Messages postés 41 Statut Membre > jmst1 Messages postés 41 Statut Membre
         

        La formule fonctionne SAUF qu'elle n'indique pas la tache du jour, mais celle de 3 jours suivant.

        Il me semble qu'il manque quelque chose comme:

        Si la date n'est pas celle du jour, arrondir au trois jour suivant 

        Un peu comme cette demande qui fonctionne très bien pour un samedi tous les 15 jours:

        https://forums.commentcamarche.net/forum/affich-33278898-si-la-date-n-est-pas-un-samedi-arrondir-la-date#p33281915

        0
      2. jmst1 Messages postés 41 Statut Membre > jmst1 Messages postés 41 Statut Membre
         

        Merci jee pee.

        la formule fonctionne sauf quel ne répète pas le jour de la tache.

        Donc il faut: si la date n'est pas un "jour de la tache" arrondir la date au "jour de la tache+3jours suivant" sinon reprendre la date

        Formule un peu longue et pas facile à écrire si l'on ne remplace pas les "AUJOURDHUI()" par un No de cellule ainsi que la date de départ (45639) 

        =SI(SI(MOD(AUJOURDHUI()-45639;3)=0;AUJOURDHUI()+3;AUJOURDHUI()-MOD(AUJOURDHUI()-45639;3)+3)=AUJOURDHUI()+3;AUJOURDHUI();SI(MOD(AUJOURDHUI()-45639;3)=0;AUJOURDHUI()+3;AUJOURDHUI()-MOD(AUJOURDHUI()-45639;3)+3))

        Merci à vous tous.

        0
  9. PapyLuc51 Messages postés 4567 Date d'inscription   Statut Membre Dernière intervention   1 511
     

    Une autre idée en activant le calcul itératif dans les options de formules

    https://www.transfernow.net/dl/2024120960AYz57R

    Cordialement

    ps je n'avais pas mis le bon fichier au départ

    0
    1. jmst1 Messages postés 41 Statut Membre
       

      Merci Papy Luc , mais il y a une référence circulaire dans le fichier !

      0
      1. PapyLuc51 Messages postés 4567 Date d'inscription   Statut Membre Dernière intervention   1 511 > jmst1 Messages postés 41 Statut Membre
         

        C'est bien pour cela que pour cette formule il faut activer le calcul itératif dans les options de formules.

        Voir l'image insérée dans le fichier envoyé.

        Cordialement 

        0
      2. jmst1 Messages postés 41 Statut Membre > PapyLuc51 Messages postés 4567 Date d'inscription   Statut Membre Dernière intervention  
         

        oui, mais deux défauts

        Plusieurs lignes.

         et répondre oui qui ne me serre pas.

        Juste une date, qui se répète tous les 3 jours.

        Le jour de départ est un plus, mais pas franchement utile.

        Sur 3 jours la tache peu démarrer un Lundi au lieu de Mardi (je m'adapte)

        0
  10. PapyLuc51 Messages postés 4567 Date d'inscription   Statut Membre Dernière intervention   1 511
     

    Salut jmst1

    Pour arriver à une conclusion qui te satisfasse pleinement, il va falloir que tu fournisses un exemple de ton tableau avec toutes les explications utiles point par point, chose qu'on te demande depuis le début.

    Mon post est le 19e de cette discussion et je ne suis pas plus avancé qu'au début.

    Cordialement

    Bonnes fêtes de fin d'année à tous.

    0
    1. jmst1 Messages postés 41 Statut Membre
       

      Il n'y a pas besoin d'un tableau, l'explication est claire:

      .

      Je desire une formule qui d'un départ donné, rappel une DATE pour une tache tous les 3jours, si possible pas de VBA ni sur plusieurs cellule.

      .

      La formule trouvée par jee pee fonctionne sauf que le jour(DATE) de la tache n'est pas affiché, mais donne 3 jours plus tard.

      .

      Donc un "si" de plus donne une formule un peu longue mais fonctionnelle  

      Merci jee pee.

      .

      La formule fonctionne sauf quelle ne répète pas le jour de la tache.

      .

      Donc il faut: si la date n'est pas un "jour de la tache" arrondir la date au "jour de la tache+3jours suivant" sinon reprendre la date.

      .

      Formule un peu longue et pas facile à écrire si l'on ne remplace pas les "AUJOURDHUI()" par un No de cellule ainsi que la date de départ (45639) 

      .

      =SI(SI(MOD(AUJOURDHUI()-45639;3)=0;AUJOURDHUI()+3;AUJOURDHUI()-MOD(AUJOURDHUI()-45639;3)+3)=AUJOURDHUI()+3;AUJOURDHUI();SI(MOD(AUJOURDHUI()-45639;3)=0;AUJOURDHUI()+3;AUJOURDHUI()-MOD(AUJOURDHUI()-45639;3)+3))

      Merci à vous tous.

      0
      1. PapyLuc51 Messages postés 4567 Date d'inscription   Statut Membre Dernière intervention   1 511 > jmst1 Messages postés 41 Statut Membre
         

        Bonjour,

        Après avoir lu et relu le sujet

        J'ai vérifié cette formule qui fonctionne dans l'ensemble.

        .

        J'ai toutefois remarqué que :

        .

        Si le jour de départ est le même qu'AUJOURDHUI() alors c'est la date du jour qui s'inscrit et si j'ai bien compris tu veux voir le départ + 3 jours.

        .

        En maintenant ta formule ça donne

        .

        Départ le 18-12 (date de tâche = 18-12), demain la (date de tâche sera le 21-12), après-demain la (tâche au 21-12)  et arrivé au 21-12 la (tâche sera aussi au 21-12).

        .

        Je pense que (et si j'ai bien compris) que ça devrait être :

        .

        Départ le 18-12 (date de tâche = 21-12), demain la (date de tâche sera le 21-12), après-demain la (tâche au 21-12)  et arrivé au 21-12 ça passera la (tâche à la date suivante soit le 24-12).

        .

        D'autre part si tu inscris une date de départ supérieure à AUJOURDHUI() la cellule tâche sera  AUJOURDHUI()+3 ; elle devrait rester vide ou marquer "hors période" par exemple.

        .

        Il ne faut pas rectifier grand chose sur ta formule 

        .

        =SI(45639>AUJOURDHUI();"Hors période";SI(SI(MOD(AUJOURDHUI()-45639;3)=0;AUJOURDHUI()+6;AUJOURDHUI()-MOD(AUJOURDHUI()-45639;3)+3)=AUJOURDHUI()+3;AUJOURDHUI();SI(MOD(AUJOURDHUI()-45639;3)=0;AUJOURDHUI()+3;AUJOURDHUI()-MOD(AUJOURDHUI()-45639;3)+3)))

        .

        Un fichier de comparaison en espérant être dans le vrai

        .

        https://www.cjoint.com/c/NLsp2eXmDLz

        .

        Cordialement

        0
      2. jmst1 Messages postés 41 Statut Membre > PapyLuc51 Messages postés 4567 Date d'inscription   Statut Membre Dernière intervention  
         

        Merci PapyLuc51, ta formule fonctionne comme celle de jee pee, avec un pt plus "hors période" qui ne me serre pas.

        .

        Donc c'est la même formule que j'ai modifiée qui contient 248 caractères.

        .

        =SI(SI(MOD(AUJOURDHUI()-45639;3)=0;AUJOURDHUI()+3;AUJOURDHUI()-MOD(AUJOURDHUI()-45639;3)+3)=AUJOURDHUI()+3;AUJOURDHUI();SI(MOD(AUJOURDHUI()-45639;3)=0;AUJOURDHUI()+3;AUJOURDHUI()-MOD(AUJOURDHUI()-45639;3)+3))

        .

        Il suffit de changer la date de départ (VE = 45639) pour choisir le démarrage de la tache LU, MA,ME JE,VE SA, ou DI

        0
      3. PapyLuc51 Messages postés 4567 Date d'inscription   Statut Membre Dernière intervention   1 511 > jmst1 Messages postés 41 Statut Membre
         

        Bonjour,

        .

        Si la formule te convient comme ça (j'en ai vu des plus longues) et que tout est OK pour toi, alors passe le "sujet en résolu".

        .

        Bonnes fêtes

        .

        Cordialement

        0
      4. jmst1 Messages postés 41 Statut Membre > PapyLuc51 Messages postés 4567 Date d'inscription   Statut Membre Dernière intervention  
         

        Je vous remercie pour votre aide.

        0