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

Résolu
marco1313 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -  
tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   -
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. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      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. marco1313 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
       
      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. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      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. marco1313 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
       
      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. marco1313 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
       
      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. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
       
      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
  4. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
     
    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. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      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. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
       
      Non cette formule en une ligne oublie de changer de mois si J > 12.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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. marco1313 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
       
      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. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      celle de tontong au post 12 avec cellule intermédiaire est correcte aussi, et plus simple à comprendre.
      eric
      0
    3. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
       
      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
  7. marco1313 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
     
    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