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 2572 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...
A voir également:

6 réponses

Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
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 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
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 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
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
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 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
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
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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 2572 Date d'inscription   Statut Membre Dernière intervention   1 062
 
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 2572 Date d'inscription   Statut Membre Dernière intervention   1 062
 
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 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
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 2572 Date d'inscription   Statut Membre Dernière intervention   1 062
 
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 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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 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
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
celle de tontong au post 12 avec cellule intermédiaire est correcte aussi, et plus simple à comprendre.
eric
0
tontong Messages postés 2572 Date d'inscription   Statut Membre Dernière intervention   1 062
 
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 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