Formule pour des échéances à la décade
Résolu
JLES2012
Messages postés
4
Statut
Membre
-
JLES2012 Messages postés 4 Statut Membre -
JLES2012 Messages postés 4 Statut Membre -
Bonjour,
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.
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.
A voir également:
- Fin de décade
- Fin des zfe - Guide
- Fin du partage de compte disney + - Accueil - Streaming
- Fin de la 4g en france - Accueil - Guide opérateurs et forfaits
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Fin de fruitz - Accueil - Applications & Logiciels
9 réponses
Bonjour,
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.
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...
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
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 !
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 !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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)))
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)))
Bonjour
bonjour Tontong: m^me idée mais chuis à la bourre
Michel
=SI(JOUR(A1)>20;FIN.MOIS(A1;1);MOIS.DECALER(A1;1)-JOUR(A1)+SI(JOUR(A1)>10;20;10))
bonjour Tontong: m^me idée mais chuis à la bourre
Michel
BRAVO !
L'OBJECTIF EST ATTEINT.
MERCI A TOUS POUR VOS CONTRIBUTIONS
(et ce ne sont pas des salades... parole de maraîcher)
L'OBJECTIF EST ATTEINT.
MERCI A TOUS POUR VOS CONTRIBUTIONS
(et ce ne sont pas des salades... parole de maraîcher)
Bonsoir,
Merci pour tes explications.
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
Où "d" sera la date de facturation
Bonne suite
Merci pour tes explications.
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
Où "d" sera la date de facturation
Bonne suite