OVH Cloud OVH Cloud

Date

6 réponses
Avatar
serge
Bonjour,

Jai lu quelques posts mais malheureusement je nai pas trouver ce que je
cherchais.
voici ma question :

Pour des calculs de taux sur un mois, je dois trouver un formule qui repond
aux regles suivantes :
date + 1mois =
-si le resultat est un samedi ou dimanche, prochain jour ouvre ( jai utilise
la formule weekday).
Par contre, ca devient un peu plus difficile sur les exemples suivants :
-27/01/aaaa devient 27/02/aaaa
-28/01/aaaa devient 28/01/aaaa
-29/01/aaaa devient 28/02/aaaa
- 30/01/aaaa devient 28/02/aaaa
-31/01/aaaa devient 28/02/aaaa
-01/02/aaaa devient 01/03/aaaa
et ca je nai reellement aucune idee la dessus.

Pour compliquer la chose, je ne peux pas ajouter les modules complementes
qui proposerait fin.mois par exemple.

jattend vos idee.

merci encore


Serge

6 réponses

Avatar
JB
Bonjour,

Il faut utiliser la fonction Date(année;mois;jour)

Décalage 1 an:
ÚTE(ANNEE(A1)+1;MOIS(A1);JOUR(A1))

Décalage 1 mois:
ÚTE(ANNEE(A1;MOIS(A1)+1;JOUR(A1))

Dernier jour mois:
ÚTE(ANNEE(A1);MOIS(A1)+1;1)-1

Cordialement JB


Bonjour,

Jai lu quelques posts mais malheureusement je nai pas trouver ce que je
cherchais.
voici ma question :

Pour des calculs de taux sur un mois, je dois trouver un formule qui repo nd
aux regles suivantes :
date + 1mois =
-si le resultat est un samedi ou dimanche, prochain jour ouvre ( jai util ise
la formule weekday).
Par contre, ca devient un peu plus difficile sur les exemples suivants :
-27/01/aaaa devient 27/02/aaaa
-28/01/aaaa devient 28/01/aaaa
-29/01/aaaa devient 28/02/aaaa
- 30/01/aaaa devient 28/02/aaaa
-31/01/aaaa devient 28/02/aaaa
-01/02/aaaa devient 01/03/aaaa
et ca je nai reellement aucune idee la dessus.

Pour compliquer la chose, je ne peux pas ajouter les modules complementes
qui proposerait fin.mois par exemple.

jattend vos idee.

merci encore


Serge


Avatar
dre
Salut,

Si j'ai compris la question !
La formule : ÚTE(ANNEE(A1);MOIS(A1)+1;JOUR(A1))
renvoie 01.03.06 pour le 29.01.06 en A1, alors qu'il faudrait obtenir le
28.02.06

La formule : =MOIS.DECALER(A1;1) renvoie le résultat désiré.

Si on ne veut pas employer cette fonction des macros complémentaires (cfr
AV) :
=SI(MOIS(DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))-MOIS(A1)>1;DATE(ANNEE(A1);MOIS(A1)+2;0);DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))

Â+





Bonjour,

Il faut utiliser la fonction Date(année;mois;jour)

Décalage 1 an:
ÚTE(ANNEE(A1)+1;MOIS(A1);JOUR(A1))

Décalage 1 mois:
ÚTE(ANNEE(A1;MOIS(A1)+1;JOUR(A1))

Dernier jour mois:
ÚTE(ANNEE(A1);MOIS(A1)+1;1)-1

Cordialement JB


Bonjour,

Jai lu quelques posts mais malheureusement je nai pas trouver ce que je
cherchais.
voici ma question :

Pour des calculs de taux sur un mois, je dois trouver un formule qui repond
aux regles suivantes :
date + 1mois > > -si le resultat est un samedi ou dimanche, prochain jour ouvre ( jai utilise
la formule weekday).
Par contre, ca devient un peu plus difficile sur les exemples suivants :
-27/01/aaaa devient 27/02/aaaa
-28/01/aaaa devient 28/01/aaaa
-29/01/aaaa devient 28/02/aaaa
- 30/01/aaaa devient 28/02/aaaa
-31/01/aaaa devient 28/02/aaaa
-01/02/aaaa devient 01/03/aaaa
et ca je nai reellement aucune idee la dessus.

Pour compliquer la chose, je ne peux pas ajouter les modules complementes
qui proposerait fin.mois par exemple.

jattend vos idee.

merci encore


Serge






Avatar
serge
La formule
=SI(MOIS(DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))-MOIS(A1)>1;DATE(ANNEE(A1);MOIS(A1)+2;0);DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))
marche bien.

merci dailleurs!

jai juste une autre regle qui change un peu la donne en plus des precedentes:
si la date est fin de mois +1 mois doit donner la fin de mois du prochain
Exemple :
30/01/06 = 28/02/06
31/01/06 = 28/02/06
28/02/06 = 31/03/06 (la formule donne 28/02/06)

et si je souhaite utiliser la formule pour +2 mois / +3 mois, quel sont les
parametres a changer>?

merci encore,
nous sommes sur la bonne voie!

Serghe


"dre" wrote:

Salut,

Si j'ai compris la question !
La formule : ÚTE(ANNEE(A1);MOIS(A1)+1;JOUR(A1))
renvoie 01.03.06 pour le 29.01.06 en A1, alors qu'il faudrait obtenir le
28.02.06

La formule : =MOIS.DECALER(A1;1) renvoie le résultat désiré.

Si on ne veut pas employer cette fonction des macros complémentaires (cfr
AV) :
=SI(MOIS(DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))-MOIS(A1)>1;DATE(ANNEE(A1);MOIS(A1)+2;0);DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))

Â+





Bonjour,

Il faut utiliser la fonction Date(année;mois;jour)

Décalage 1 an:
ÚTE(ANNEE(A1)+1;MOIS(A1);JOUR(A1))

Décalage 1 mois:
ÚTE(ANNEE(A1;MOIS(A1)+1;JOUR(A1))

Dernier jour mois:
ÚTE(ANNEE(A1);MOIS(A1)+1;1)-1

Cordialement JB


Bonjour,

Jai lu quelques posts mais malheureusement je nai pas trouver ce que je
cherchais.
voici ma question :

Pour des calculs de taux sur un mois, je dois trouver un formule qui repond
aux regles suivantes :
date + 1mois > > > -si le resultat est un samedi ou dimanche, prochain jour ouvre ( jai utilise
la formule weekday).
Par contre, ca devient un peu plus difficile sur les exemples suivants :
-27/01/aaaa devient 27/02/aaaa
-28/01/aaaa devient 28/01/aaaa
-29/01/aaaa devient 28/02/aaaa
- 30/01/aaaa devient 28/02/aaaa
-31/01/aaaa devient 28/02/aaaa
-01/02/aaaa devient 01/03/aaaa
et ca je nai reellement aucune idee la dessus.

Pour compliquer la chose, je ne peux pas ajouter les modules complementes
qui proposerait fin.mois par exemple.

jattend vos idee.

merci encore


Serge








Avatar
dre
Re,

Pas de problème, mais un peu de patience, j'ai un boulot urgent à finir !

Â+



La formule
=SI(MOIS(DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))-MOIS(A1)>1;DATE(ANNEE(A1);MOIS(A1)+2;0);DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))
marche bien.

merci dailleurs!

jai juste une autre regle qui change un peu la donne en plus des precedentes:
si la date est fin de mois +1 mois doit donner la fin de mois du prochain
Exemple :
30/01/06 = 28/02/06
31/01/06 = 28/02/06
28/02/06 = 31/03/06 (la formule donne 28/02/06)

et si je souhaite utiliser la formule pour +2 mois / +3 mois, quel sont les
parametres a changer>?

merci encore,
nous sommes sur la bonne voie!

Serghe


"dre" wrote:

Salut,

Si j'ai compris la question !
La formule : ÚTE(ANNEE(A1);MOIS(A1)+1;JOUR(A1))
renvoie 01.03.06 pour le 29.01.06 en A1, alors qu'il faudrait obtenir le
28.02.06

La formule : =MOIS.DECALER(A1;1) renvoie le résultat désiré.

Si on ne veut pas employer cette fonction des macros complémentaires (cfr
AV) :
=SI(MOIS(DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))-MOIS(A1)>1;DATE(ANNEE(A1);MOIS(A1)+2;0);DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))

Â+





Bonjour,

Il faut utiliser la fonction Date(année;mois;jour)

Décalage 1 an:
ÚTE(ANNEE(A1)+1;MOIS(A1);JOUR(A1))

Décalage 1 mois:
ÚTE(ANNEE(A1;MOIS(A1)+1;JOUR(A1))

Dernier jour mois:
ÚTE(ANNEE(A1);MOIS(A1)+1;1)-1

Cordialement JB


Bonjour,

Jai lu quelques posts mais malheureusement je nai pas trouver ce que je
cherchais.
voici ma question :

Pour des calculs de taux sur un mois, je dois trouver un formule qui repond
aux regles suivantes :
date + 1mois > > > > -si le resultat est un samedi ou dimanche, prochain jour ouvre ( jai utilise
la formule weekday).
Par contre, ca devient un peu plus difficile sur les exemples suivants :
-27/01/aaaa devient 27/02/aaaa
-28/01/aaaa devient 28/01/aaaa
-29/01/aaaa devient 28/02/aaaa
- 30/01/aaaa devient 28/02/aaaa
-31/01/aaaa devient 28/02/aaaa
-01/02/aaaa devient 01/03/aaaa
et ca je nai reellement aucune idee la dessus.

Pour compliquer la chose, je ne peux pas ajouter les modules complementes
qui proposerait fin.mois par exemple.

jattend vos idee.

merci encore


Serge










Avatar
JB
A1 contient la date et B1 le nombre de mois:

=SI(MOIS(DATE(ANNEE(A1);MOIS(A1)+B1;JOUR(A1)))<>MOD(MOIS(A1)+B1;12);DATE( ANNEE(A1);MOIS(A1)+B1+1;1)-1;DATE(ANNEE(A1);MOIS(A1)+B1;JOUR(A1)))

JB


La formule
=SI(MOIS(DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))-MOIS(A1)>1;DATE(ANNEE(A1) ;MOIS(A1)+2;0);DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))
marche bien.

merci dailleurs!

jai juste une autre regle qui change un peu la donne en plus des preceden tes:
si la date est fin de mois +1 mois doit donner la fin de mois du prochain
Exemple :
30/01/06 = 28/02/06
31/01/06 = 28/02/06
28/02/06 = 31/03/06 (la formule donne 28/02/06)

et si je souhaite utiliser la formule pour +2 mois / +3 mois, quel sont l es
parametres a changer>?

merci encore,
nous sommes sur la bonne voie!

Serghe


"dre" wrote:

Salut,

Si j'ai compris la question !
La formule : ÚTE(ANNEE(A1);MOIS(A1)+1;JOUR(A1))
renvoie 01.03.06 pour le 29.01.06 en A1, alors qu'il faudrait obtenir le
28.02.06

La formule : =MOIS.DECALER(A1;1) renvoie le résultat désiré.

Si on ne veut pas employer cette fonction des macros complémentaires (cfr
AV) :
=SI(MOIS(DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))-MOIS(A1)>1;DATE(ANNEE(A 1);MOIS(A1)+2;0);DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))

Â+





Bonjour,

Il faut utiliser la fonction Date(année;mois;jour)

Décalage 1 an:
ÚTE(ANNEE(A1)+1;MOIS(A1);JOUR(A1))

Décalage 1 mois:
ÚTE(ANNEE(A1;MOIS(A1)+1;JOUR(A1))

Dernier jour mois:
ÚTE(ANNEE(A1);MOIS(A1)+1;1)-1

Cordialement JB


Bonjour,

Jai lu quelques posts mais malheureusement je nai pas trouver ce qu e je
cherchais.
voici ma question :

Pour des calculs de taux sur un mois, je dois trouver un formule qu i repond
aux regles suivantes :
date + 1mois =
-si le resultat est un samedi ou dimanche, prochain jour ouvre ( ja i utilise
la formule weekday).
Par contre, ca devient un peu plus difficile sur les exemples suiva nts :
-27/01/aaaa devient 27/02/aaaa
-28/01/aaaa devient 28/01/aaaa
-29/01/aaaa devient 28/02/aaaa
- 30/01/aaaa devient 28/02/aaaa
-31/01/aaaa devient 28/02/aaaa
-01/02/aaaa devient 01/03/aaaa
et ca je nai reellement aucune idee la dessus.

Pour compliquer la chose, je ne peux pas ajouter les modules comple mentes
qui proposerait fin.mois par exemple.

jattend vos idee.

merci encore


Serge










Avatar
JB
Fonction perso:


Function MoisDecaler(d, n)
Application.Volatile
If Month(DateSerial(Year(d), Month(d) + n, Day(d))) <> (Month(d) +
n) Mod 12 Then
MoisDecaler = DateSerial(Year(d), Month(d) + n + 1, 1) - 1
Else
MoisDecaler = DateSerial(Year(d), Month(d) + n, Day(d))
End If
End Function

=MoisDecaler(A1;2) par exemple


JB


La formule
=SI(MOIS(DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))-MOIS(A1)>1;DATE(ANNEE(A1) ;MOIS(A1)+2;0);DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))
marche bien.

merci dailleurs!

jai juste une autre regle qui change un peu la donne en plus des preceden tes:
si la date est fin de mois +1 mois doit donner la fin de mois du prochain
Exemple :
30/01/06 = 28/02/06
31/01/06 = 28/02/06
28/02/06 = 31/03/06 (la formule donne 28/02/06)

et si je souhaite utiliser la formule pour +2 mois / +3 mois, quel sont l es
parametres a changer>?

merci encore,
nous sommes sur la bonne voie!

Serghe


"dre" wrote:

Salut,

Si j'ai compris la question !
La formule : ÚTE(ANNEE(A1);MOIS(A1)+1;JOUR(A1))
renvoie 01.03.06 pour le 29.01.06 en A1, alors qu'il faudrait obtenir le
28.02.06

La formule : =MOIS.DECALER(A1;1) renvoie le résultat désiré.

Si on ne veut pas employer cette fonction des macros complémentaires (cfr
AV) :
=SI(MOIS(DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))-MOIS(A1)>1;DATE(ANNEE(A 1);MOIS(A1)+2;0);DATE(ANNEE(A1);MOIS(A1)+1;JOUR(A1)))

Â+





Bonjour,

Il faut utiliser la fonction Date(année;mois;jour)

Décalage 1 an:
ÚTE(ANNEE(A1)+1;MOIS(A1);JOUR(A1))

Décalage 1 mois:
ÚTE(ANNEE(A1;MOIS(A1)+1;JOUR(A1))

Dernier jour mois:
ÚTE(ANNEE(A1);MOIS(A1)+1;1)-1

Cordialement JB


Bonjour,

Jai lu quelques posts mais malheureusement je nai pas trouver ce qu e je
cherchais.
voici ma question :

Pour des calculs de taux sur un mois, je dois trouver un formule qu i repond
aux regles suivantes :
date + 1mois =
-si le resultat est un samedi ou dimanche, prochain jour ouvre ( ja i utilise
la formule weekday).
Par contre, ca devient un peu plus difficile sur les exemples suiva nts :
-27/01/aaaa devient 27/02/aaaa
-28/01/aaaa devient 28/01/aaaa
-29/01/aaaa devient 28/02/aaaa
- 30/01/aaaa devient 28/02/aaaa
-31/01/aaaa devient 28/02/aaaa
-01/02/aaaa devient 01/03/aaaa
et ca je nai reellement aucune idee la dessus.

Pour compliquer la chose, je ne peux pas ajouter les modules comple mentes
qui proposerait fin.mois par exemple.

jattend vos idee.

merci encore


Serge