XL 2019 Calcul date d'échéance avec FIN.MOIS et MOIS.DECALER

kdet

XLDnaute Occasionnel
Bonjour à tous, le forum,

Par le fichier joint, j'ai effectué un calcul de date d'échéance (à chaque fin du mois) à partir de la formule FIN.MOIS et MOIS.DECALER et il y en a quelques unes qui ne donnent pas le bon résultat sauf si je le modifie manuellement et un par un.

Je ne sais pas ce qui ne va pas avec la formule. Est-ce que vous pouvez m'éclairer un peu svp?

Merci

kdet
 

Pièces jointes

  • Fin.Mois et Mois.Decaler.xlsx
    10.2 KB · Affichages: 9

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Kdet,
Une chose m'échappe :

Ligne 4 : Début 30/06/2022 décalé de 2 mois, vous attendez 31/07/2022
Or pour mois fin juin décalé de 2 mois ça fait bien fin aout et non fin juillet.

Ligne 14 : Début 31/07/2022 décalé de 1 mois, vous attendez 31/07/2022
Or décaler d'un mois on ne peut pas obtenir le même jour, c'est bien 31/08/2022.
 

kdet

XLDnaute Occasionnel
Bonjour job75; sylvanu, le forum,

Merci pour vos retours. Peut-être que je me suis mal exprimé et je m'excuse.

Pour la Ligne 4 : comme le remboursement se fait à chaque fin du mois, le 1er s'effectue le 30/06/2022 et le 2nd le 31/07/2022

Pour la Ligne 14 : si la date début est 31/07/2022 donc il faut que ça reste 31/07/2022 à la date fin pour le mois de juillet 2022 (A14)

La date début = 1. si dans la ligne 4, A4=2 donc date début 30/06/2022 = 1 et date fin 31/07/2022 = 2

Kdet
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
C'est mieux avec toutes les infos. :)
Le problème vient de la partie décimale :
Si on a 7.2 cela fait 8 versements avec le solde au dernier mois.
Si on a 7 alors cela ne fait que 7 versements.
C'est pour ça que ça coince pour 2.00 et 1.00.
Essayez cela :
VB:
=SI(E2-ENT(E2)<>0;FIN.MOIS(MOIS.DECALER(F2;ENT(E2));0);FIN.MOIS(MOIS.DECALER(F2;ENT(E2-1));0))
 

Pièces jointes

  • Fin.Mois et Mois.Decaler (2).xlsx
    10.1 KB · Affichages: 5

kdet

XLDnaute Occasionnel
C'est mieux avec toutes les infos. :)
Le problème vient de la partie décimale :
Si on a 7.2 cela fait 8 versements avec le solde au dernier mois.
Si on a 7 alors cela ne fait que 7 versements.
C'est pour ça que ça coince pour 2.00 et 1.00.
Essayez cela :
VB:
=SI(E2-ENT(E2)<>0;FIN.MOIS(MOIS.DECALER(F2;ENT(E2));0);FIN.MOIS(MOIS.DECALER(F2;ENT(E2-1));0))
@sylvanu, le forum

Tu m'as vraiment sauvé. et encore mille excuses de ne pas avoir été clair dès le début.

encore merci

kdet
 

job75

XLDnaute Barbatruc
Plus simplement il suffit de soustraire une petite valeur "1E-6" au nombre de mois de la colonne A :
Code:
=FIN.MOIS(MOIS.DECALER(B2;A2-"1E-6");0)
Nota : la ligne 10 était elle aussi erronée.
 

Pièces jointes

  • Fin.Mois et Mois.Decaler(1).xlsx
    10 KB · Affichages: 5

kdet

XLDnaute Occasionnel
Plus simplement il suffit de soustraire une petite valeur "1E-6" au nombre de mois de la colonne A :
Code:
=FIN.MOIS(MOIS.DECALER(B2;A2-"1E-6");0)
Nota : la ligne 10 était elle aussi erronée.
Bonjour job75, le forum

Merci pour ta contribution et aussi pour cette nouvelle formule. peux-tu stp m'expliquer "1E-6" car c'est totalement nouveau pour moi?

Merci
kdet
 

Discussions similaires

Réponses
16
Affichages
671

Statistiques des forums

Discussions
312 193
Messages
2 086 059
Membres
103 110
dernier inscrit
Privé