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 -
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...
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:
- Excel 2003 date facture j + 19 arrondi au multiple de 5 sup
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Nombre de jours entre deux dates excel - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
6 réponses
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
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
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
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
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
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
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)))
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)))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
Une formule un peu plus courte :
=DATE(ANNEE(A1+19);MOIS(A1+19);(PLAFOND(JOUR(A1+19);5)))
Cdlmnt
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
Cdlmnt
votre formule semble marcher parfaitement....
elle est beaucoup plus simple que la mienne lol
merci à vous deux en tout cas
Marco
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