Pour calculer des échéances de factures à 30 jours fin de décade j'utilise la formule suivante :
=DATE(ANNEE(A1);MOIS(A1)+1+(JOUR(A1)>31);MAX(10;PLAFOND(MOD(JOUR(A1);31);10)))
Le résultat me convient sauf lorsque :
1 - le mois de facturation est de 31 jours
ex fact du 31/01/2012 éch 10/02/2012 ???
2 - le mois d'échéance est de 31 jours
ex fact du 22/02/2012 éch 30/03/2012 (je souhaiterais que ce soit le 31/03/2012) !
Quelqu'un a-t-il LA solution...
D'AVANCE MERCI A TOUS POUR VOTRE INVESTISSEMENT.
si tu expliquais ce que sont des des échéances de factures à 30 jours fin de décade ?
ex fact du 22/02/2012 éch 30/03/2012 (je souhaiterais que ce soit le 31/03/2012) ! Pour moi une décade serait tous les 10 jours. Pourquoi 11 ici ? C'est plutôt une fin de mois.
ex fact du 31/01/2012 éch 10/02/2012 ??? La bonne réponse serait ?
Le mieux serait de fournir en plus plusieurs exemple de résultats attendus et la totalité des règles.
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
Cette formule est parfaite tout au long de l'année.
SAUF :
- pour toutes les factures datées entre le 21 janvier 2013 et le 31 janvier 2013 où j'ai une date d'échéance au 29 février 2013... alors que cette année il n'y a que 28 jours...
Bonjour,
Je n'ai pas compris grand chose à ton histoire de "décade", mais je peux te proposer cette formule qui marche sur le VBA
Function DerJourMois(d) As Date
On Error GoTo Sortie
DerJourMois = DateAdd("m", 1, d) - Day(d)
Sortie:
End Function
"d" est normalement la date en cours, tu peux la remplacer par la date de fin de décade de ton calcul, et elle (la formule) te sortira le dernier jour du mois correspondant.
Soit X = DerJourMois(DateFinDecade)
D'autres plus compétents pourront sans doute nous expliquer pourquoi la formule ainsi rédigée fonctionne en VBA et non pas directement sur le tableau Excel. Pour moi ça reste un mystère.
Bonne suite
Explications :
30 jours fin de décade (conditions en pratique chez les maraichers)
1 - toutes les factures datées entre le 01 et le 10 auront une échéance au 10 du mois suivant
ex : facture du 02/01/2013 éch 10 fév 2013
2 - toutes les factures datées entre le 11 et le 20 auront une échéance au 20 du mois suivant
ex : facture du 12/01/2013 éch 20 fév 2013
3 - toutes les factures datées entre le 21 et le 31 (ou 30 si le mois est de 30 jours, 28ou29 pour février) auront une échéance au 31 du mois suivant (ou 30 si le mois est de 30 jours, 28ou29 pour février)
ex : facture du 22/01/2013 éch 28 fév 2013
Comme il y aura des factures datées du 31 (pour les mois où il y a 31 jours... il ne faut surtout pas les "oublier" si non ce sera un manque à gagner au niveau de la trésorerie !
Bonjour,
La formule suivante est peut-être simplifiable mais en tous cas à vérifier,
un cas particulier a pu m'échapper:
=SI(JOUR(A1)>20;FIN.MOIS(A1;1);SI(JOUR(A1)>10;MOIS.DECALER(DATE(ANNEE(A1);MOIS(A1);20);1);MOIS.DECALER(DATE(ANNEE(A1);MOIS(A1);10);1)))
Alors la formule que je peux te proposer sera la suivante, à utiliser directement du coup:
Function Derjourdecade(d) As Date
On Error GoTo Sortie
If Day(d) < 11 Then
Derjourdecade = DateAdd("m", 1, d) - Day(d) + 10
ElseIf Day(d) < 21 Then
Derjourdecade = DateAdd("m", 1, d) - Day(d) + 20
ElseIf Day(d) > 20 Then
Derjourdecade = DateAdd("m", 2, d) - Day(d)
End If
Sortie:
End Function