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

Résolu/Fermé
marco1313 Messages postés 9 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 2 mai 2022 - 15 mai 2013 à 16:04
tontong Messages postés 2525 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 24 août 2022 - 17 mai 2013 à 14:05
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

Vaucluse Messages postés 26495 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 8 avril 2022 6 275
Modifié par Vaucluse le 15/05/2013 à 16:47
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
via55 Messages postés 13898 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 octobre 2022 2 495
15 mai 2013 à 17:00
Bonjour Marco et Vaucluse

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

Cdlmnt
0
marco1313 Messages postés 9 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 2 mai 2022
15 mai 2013 à 17:17
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
via55 Messages postés 13898 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 octobre 2022 2 495
15 mai 2013 à 17:22
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
marco1313 Messages postés 9 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 2 mai 2022
15 mai 2013 à 17:23
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
marco1313 Messages postés 9 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 2 mai 2022
Modifié par marco1313 le 15/05/2013 à 17:40
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
eriiic Messages postés 24454 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 7 octobre 2022 7 139
16 mai 2013 à 14:30
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
eriiic Messages postés 24454 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 7 octobre 2022 7 139
16 mai 2013 à 11:09
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
tontong Messages postés 2525 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 24 août 2022 1 037
16 mai 2013 à 12:01
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
tontong Messages postés 2525 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 24 août 2022 1 037
16 mai 2013 à 15:24
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
via55 Messages postés 13898 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 octobre 2022 2 495
16 mai 2013 à 15:38
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
tontong Messages postés 2525 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 24 août 2022 1 037
16 mai 2013 à 16:38
Non cette formule en une ligne oublie de changer de mois si J > 12.
0

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

Posez votre question
eriiic Messages postés 24454 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 7 octobre 2022 7 139
16 mai 2013 à 17:59
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
marco1313 Messages postés 9 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 2 mai 2022
17 mai 2013 à 09:02
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
eriiic Messages postés 24454 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 7 octobre 2022 7 139
17 mai 2013 à 12:05
celle de tontong au post 12 avec cellule intermédiaire est correcte aussi, et plus simple à comprendre.
eric
0
tontong Messages postés 2525 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 24 août 2022 1 037
17 mai 2013 à 14:05
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
marco1313 Messages postés 9 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 2 mai 2022
17 mai 2013 à 08:38
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