Excel 2003 date facture j + 19 arrondi au multiple de 5 sup

Résolu
bonjour,
j'aimerai trouver une réponse (non en VBA) ...
Mon fournisseur me facture à 19 jours arrondi au multiple de 5 supérieur.... c'est à dire que lorsque je reçois la marchandise le 02 janvier, je dois régler le 25 janvier (02 + 19 = 21 , au multiple superieur de 5, cela donne le 25 janvier)
Sachant qu'en A1 se trouve la date du jour , et en B1 la date de règlement....
J'ai esayé toutes sortes de formules, en vain
Quelqu'un pourrait il m'aider

Cordialement,

merci d'avance...

6 réponses

  1. Contributeur
    Bonjour
    voyez si cette formule convient dans tous les cas de figure pur une date en A2:
    =DATE(ANNEE(A2);MOIS(A2);ARRONDI.SUP((JOUR(A2)+19)/5;0)*5)+5-MOD(JOUR(DATE(ANNEE(A2);MOIS(A2);ARRONDI.SUP((JOUR(A2)+19)/5;0)*5));5)
    crdlmnt

    Ps ou en fait plus simplement, à contrôler aussi:

    =DATE(ANNEE(A2);MOIS(A2);JOUR(A2)+19)+5-MOD(JOUR(DATE(ANNEE(A2);MOIS(A2);JOUR(A2)+19));5)

    qui à priori a aussi l'air de fonctionner dans tous les cas.

    Errare humanum est, perseverare diabolicum
    2
    1. Bonjour Marco et Vaucluse

      Une formule un peu plus courte :
      =DATE(ANNEE(A1+19);MOIS(A1+19);(PLAFOND(JOUR(A1+19);5)))

      Cdlmnt
      0
    2. merci vauccluse, j'ai essayé votre dernière formule.... pour le 18 au 21 janvier par exemple, cela marche , puisque la formule me donne bien le 10 février.... mais pour le 17 votre formule me donne le 10 février alors que l'on doit avoir le 5.... pariel pour le 22 janvier qui me donne resultat faux = le 15/02..... pour la première formule j'ai le même problème

      j'ai mixé (grace à internet) une formule qui semble marcher.... SAUF QUE...

      =SI((A37-A29)>19;DATE(ANNEE(A29);MOIS(A29);PLAFOND(JOUR(A29+19);5));DATE(ANNEE(A29);MOIS(A29)+1;PLAFOND(JOUR(A29+19);5)))

      avec A37 fin de mois (31 janvier) et A29 la celllule correspondant au calcul de la cellule B29

      Alors pourquoi avoir mis SI.... >19 : le probleme est avant et apres le 12 janvier cela ne fonctionne pas pareil.... ensuite le 12 janvier je suis obligé de mettre :

      =SI((A37-A18)=19;DATE(ANNEE(A18);MOIS(A18);PLAFOND(JOUR(A18+19);6));DATE(ANNEE(A18);MOIS(A18)+1;PLAFOND(JOUR(A18+19);5)))

      avec A18 cellule du 12 janvier.... et avec un petit "6" apres jour A18+19

      si quelqu'un a une explication à tout cela..... savoir comment simplifier si possible

      MERCI encore à Vaucluse
      0
    3. Marco as tu essayé ma formule ? elle donne bien le 5 fev pour le 17 janv et le 10 fev pour le 22 janv

      Cdlmnt
      0
    4. MERCI VIA55 à 17h
      votre formule semble marcher parfaitement....
      elle est beaucoup plus simple que la mienne lol
      merci à vous deux en tout cas
      Marco
      0
    5. VIA55, je viens de finir mon tableau....
      votre formule est superbe...Je pense qu'elle pourra servir à d'autres.....le seul petit hic est pour les mois à 31 jours.... je me retrouve avec le meme probleme à ajouter 6 et non 5, le 12 du mois.
      pour février la formule (7, 8 et 9 février) n'est pas correcte, il manque 3 jours: je le rajouterai.

      Merci encore
      0
  2. Contributeur
    Re,

    Oupsss, ben oui, et les années bissextiles ?
    sauf que j'avais commis une erreur et que pour les dates >12 on avait un décalage d'un mois et que le changement d'année en décembre se passait mal... :-s

    Et comme comme dans ce casse-tête chinois chaque rectificatif introduit un décalage ailleurs j'en arrive à :
    =DATE(ANNEE(A2+19);MOIS(A2+19);(PLAFOND(JOUR(A2+19);5)))+SI(PLAFOND(JOUR(A2+19);5)>JOUR(FIN.MOIS(A2;0));SI(MOIS(A2)=2;3;1);0)+(MOD(ANNEE(A2);4)=0)*(MOIS(A2)=2)*(PLAFOND(JOUR(A2+19);5)=30)

    Je n'ose pas penser que c'est c'est définitif car j'ai les yeux qui se croisent un peu là....
    https://www.cjoint.com/c/CEqoC5yozYb

    eric
    2
    1. Contributeur
      Bonjour,

      dans une autre PLAFOND(JOUR(A1+19);5) on obtient bien 30
      Oui, mais ça c'est bon pour les mois de 30 jours car 30 Mod 5 = 0.
      Pour les mois de 28, 29 ou 31 jours ça induit un décalage par rapport au multiple de 5 du jour du mois attendu si on se retrouve sur le mois suivant.
      Ce qu'il faut compenser.

      Ca donnerait :
      =DATE(ANNEE(A2);MOIS(A2);PLAFOND(JOUR(A2+19);5))+SI(PLAFOND(JOUR(A2+19);5)>JOUR(FIN.MOIS(A2;0));SI(MOIS(A2)=2;3;1);0)

      https://www.cjoint.com/c/CEqldQmze3I
      Pour la compréhension j'ai laissé les calculs intermédiaires. La formule finale est en G.

      eric
      1
      1. Bonjour,
        Super le coup du décalage!
        On pourrait encore perfectionner pour tenir compte des années bissextiles:
        =DATE(ANNEE(A51);MOIS(A51);PLAFOND(JOUR(A51+19);5))+SI(PLAFOND(JOUR(A51+19);5)>JOUR(FIN.MOIS(A51;0));SI(MOIS(A51)=2;SI(MOD(ANNEE(A51);4)=0;4;3);1);0)
        0
    2. Re,
      Moi aussi j'ai déchiré mon calendrier!
      J'ai aussi tenté une autre approche: quand la formule de via55 renvoie une date erronée c'est une date antérieure au 5 mais le mois et l'année sont bons.
      La formule est nommée "prej"et fait référence à:
      =DATE(ANNEE(A2+19);MOIS(A2+19);(PLAFOND(JOUR(A2+19);5)))
      La date de règlement en K2 sera:
      =DATE(ANNEE(prej);MOIS(prej);MAX(5;JOUR(prej)))
      1
      1. Bravo tontong voilà la solution !

        Ta formule a l'air de fonctionner parfaitement
        on peut l'écrire en une seule ligne :
        =DATE(ANNEE(A2+19);MOIS(A2+19);MAX(5;JOUR(DATE(ANNEE(A2+19);MOIS(A2+19);PLAFOND(JOUR(A2+19);5)))))
        0
      2. Non cette formule en une ligne oublie de changer de mois si J > 12.
        0
    3. Contributeur
      On trouve la même chose, c'est rassurant ;-)
      Je me suis aperçu que j'avais mis une mauvaise version de mon fichier au post 11, voici la bonne :
      https://www.cjoint.com/c/CEqr1CcDK0z

      et pour rappel la formule :
      =DATE(ANNEE(A2+19);MOIS(A2+19);(PLAFOND(JOUR(A2+19);5)))+SI(PLAFOND(JOUR(A2+19);5)>JOUR(FIN.MOIS(A2;0));SI(MOIS(A2)=2;3;1);0)+(MOD(ANNEE(A2);4)=0)*(MOIS(A2)=2)*(PLAFOND(JOUR(A2+19);5)=30)
      Mais la tienne (la votre ;-) ) est plus simple même si il faut une cellule intermédiaire.

      eric
      1
      1. je crains que ce ne soit eriiiiiiiic qui ait gagné :)..... j'étais pas loin , juste à quelques années lumière lol ............ Je vous le dit.... LA FORMULE a été trouvée... merci à tous..... Et RDV pour un prochain casse tête :)
        0
      2. Contributeur
        celle de tontong au post 12 avec cellule intermédiaire est correcte aussi, et plus simple à comprendre.
        eric
        0
      3. Bonjour,
        Il est plus simple de copier /coller une formule que d'essayer de nommer une formule.
        Il est vrai que j'aurais pu détailler l'alternative qui consiste à créer une colonne auxiliaire intermédiaire.
        0
    4. bonjour à tous,
      je vois que plusieurs personnes se sont alliées pour essayer de me trouver la meilleure formule, et qui plus est, avec des expliquations... Ceci me permettra de comprendre un peu plus la logique Excel...
      Encore un grand MERCI à vous tous, et bonne journée
      0