Excel 2003 date facture j + 19 arrondi au multiple de 5 sup
Résolu/Fermé
marco1313
Messages postés
24
Date d'inscription
mercredi 15 mai 2013
Statut
Membre
Dernière intervention
19 février 2024
-
15 mai 2013 à 16:04
tontong Messages postés 2567 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 20 novembre 2024 - 17 mai 2013 à 14:05
tontong Messages postés 2567 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 20 novembre 2024 - 17 mai 2013 à 14:05
A voir également:
- Excel 2003 date facture j + 19 arrondi au multiple de 5 sup
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Trier par date excel - Guide
- Word et excel gratuit - Guide
6 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
Modifié par Vaucluse le 15/05/2013 à 16:47
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
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
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
16 mai 2013 à 14:30
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
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
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
16 mai 2013 à 11:09
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
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
tontong
Messages postés
2567
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
20 novembre 2024
1 059
16 mai 2013 à 12:01
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)
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)
tontong
Messages postés
2567
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
20 novembre 2024
1 059
16 mai 2013 à 15:24
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)))
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)))
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 736
16 mai 2013 à 15:38
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)))))
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)))))
tontong
Messages postés
2567
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
20 novembre 2024
1 059
16 mai 2013 à 16:38
16 mai 2013 à 16:38
Non cette formule en une ligne oublie de changer de mois si J > 12.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
16 mai 2013 à 17:59
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
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
marco1313
Messages postés
24
Date d'inscription
mercredi 15 mai 2013
Statut
Membre
Dernière intervention
19 février 2024
17 mai 2013 à 09:02
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 :)
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
17 mai 2013 à 12:05
17 mai 2013 à 12:05
celle de tontong au post 12 avec cellule intermédiaire est correcte aussi, et plus simple à comprendre.
eric
eric
tontong
Messages postés
2567
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
20 novembre 2024
1 059
17 mai 2013 à 14:05
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.
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.
marco1313
Messages postés
24
Date d'inscription
mercredi 15 mai 2013
Statut
Membre
Dernière intervention
19 février 2024
17 mai 2013 à 08:38
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
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
15 mai 2013 à 17:00
Une formule un peu plus courte :
=DATE(ANNEE(A1+19);MOIS(A1+19);(PLAFOND(JOUR(A1+19);5)))
Cdlmnt
15 mai 2013 à 17:17
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
15 mai 2013 à 17:22
Cdlmnt
15 mai 2013 à 17:23
votre formule semble marcher parfaitement....
elle est beaucoup plus simple que la mienne lol
merci à vous deux en tout cas
Marco
Modifié par marco1313 le 15/05/2013 à 17:40
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