OVH Cloud OVH Cloud

Une date de fin de mois reportée chaque année

10 réponses
Avatar
13Hubert
Bonjour à tous...

Excel 97
12 feuilles, une par mois,
Dans chaque feuille, une cellule doit contenir le chiffre d'une autre
cellule à condition que la date d'aujourd'hui est inférieure ou égale au
dernier jour du mois considéré.
La cellule A1 de chaque feuille contient la date du dernier jour du mois
concerné (Ex: 31/01 pour la feuille janvier, ect...),
Ma formule est donc simplement la suivante :
=SI(DELEGATIONS!$D$6<=$A$1;DELEGATIONS!$B$6;"")
Ainsi :
J'ai bien inséré la date du 01/01 dans ma cellule A1 de ma feuille "Janvier"
etc...
Ca fonctionne tant que nous sommes en 2006 car automatiquement, excel
considère le 31 janvier 2006, mais qu'en sera-t-il lorsque nous changerons
d'année ? Excel conservera certainement la valeur 38748 (qui correspond au 31
janvier 2006) dans ma feuille "Janvier" et ainsi de suite pour chacun des
mois, et en 2007, ma formule sera caduque...

Voici donc ma question :
Comment faire qu'excel se contente de ne considérer QUE le dernier jour du
mois de l'année en cours...?
Ou alors existe-t-il une methode éprouvée ?
Je suis en train d'enfumer le bureau à force de me creuser la cervelle et
mes collègues me demandent d'aller à la salle "Fumeurs"... :-))

Encore et toujours MERCI !

Hubert
--
...from Marseille !

10 réponses

Avatar
13Hubert
OUP'S !!

J'ai bien inséré la date du 01/01 dans ma cellule A1 de ma feuille "Janvier" etc...



Vous l'aurez compris, je parlais du 31/01

J'ai les doigts fourchus, pardon !

Hubert
--
...from Marseille !


Avatar
Gros Minet
Bonjour !

As-tu essayé ceci : ÚTE(ANNEE(AUJOURDHUI());1;31) ?

Ça te convient ?

Cordialement.

Gros Minet.

"13Hubert" a écrit dans le message de
news:
OUP'S !!

J'ai bien inséré la date du 01/01 dans ma cellule A1 de ma feuille
"Janvier" etc...



Vous l'aurez compris, je parlais du 31/01

J'ai les doigts fourchus, pardon !

Hubert
--
...from Marseille !





Avatar
13Hubert
Salut Gros Minet et merci de te pencher sur ma question.

Est-ce que ça me convient ?
Ben..., je ne sais pas trop en fait car je n'ai pas saisi le sens de la
formule...
Ce qui fait que pour le mois de janvier, cela semble fonctionner mais
lorsque je veux l'insérer dans ma feuille "février", je ne sais pas quoi
modifier pour qu'elle s'adapte...
J'espère m'être fait comprendre... <:-)

Merci
Hubert
--
...from Marseille !



Bonjour !

As-tu essayé ceci : ÚTE(ANNEE(AUJOURDHUI());1;31) ?

Ça te convient ?

Cordialement.

Gros Minet.

"13Hubert" a écrit dans le message de
news:
OUP'S !!

J'ai bien inséré la date du 01/01 dans ma cellule A1 de ma feuille
"Janvier" etc...



Vous l'aurez compris, je parlais du 31/01

J'ai les doigts fourchus, pardon !

Hubert
--
...from Marseille !










Avatar
Gros Minet
Re,

En effet ma réponse n'était pas pédagogique...

La fonction utilisée est Úte(année;mois;jour).
J'ai remplacé la partie Année de la syntaxe par =Année(Aujourdhui()) qui te
renvoie l'année de la date du jour. Ainsi, plus de problème pour les années
suivantes.
Pour la partie Mois, j'ai mis 1 pour janvier.
Pour la partie Jour, j'ai mis le 31 (dernier jour).

Mais en effet l'adaptation n'est pas facile, il faut pour chaque mois que tu
remplaces la partie Mois et la partie Jour.
Je vais esayer de trouver mieux et je reviens.

A +

Cordialement.

Gros Minet.

"13Hubert" a écrit dans le message de
news:
Salut Gros Minet et merci de te pencher sur ma question.

Est-ce que ça me convient ?
Ben..., je ne sais pas trop en fait car je n'ai pas saisi le sens de la
formule...
Ce qui fait que pour le mois de janvier, cela semble fonctionner mais
lorsque je veux l'insérer dans ma feuille "février", je ne sais pas quoi
modifier pour qu'elle s'adapte...
J'espère m'être fait comprendre... <:-)

Merci
Hubert
--
...from Marseille !



Bonjour !

As-tu essayé ceci : ÚTE(ANNEE(AUJOURDHUI());1;31) ?

Ça te convient ?

Cordialement.

Gros Minet.

"13Hubert" a écrit dans le message
de
news:
OUP'S !!

J'ai bien inséré la date du 01/01 dans ma cellule A1 de ma feuille
"Janvier" etc...



Vous l'aurez compris, je parlais du 31/01

J'ai les doigts fourchus, pardon !

Hubert
--
...from Marseille !












Avatar
Gros Minet
Coucou me revoilou !

On peut utiliser la fonction FIN.MOIS(date de départ;nombre de mois avant ou
après la date de départ) qui, comme son nom l'indique, donne le dernier jour
du mois à partir d'une date. Si le nombre de mois est 0, elle donne le
dernier jour du mois de la date de départ choisie. Donc si on lui dit :

=FIN.MOIS(DATE(ANNEE(AUJOURDHUI());1;1);0)

ça donne le 31/01/2006

Il faut ensuite l'adapter pour qu'elle te donne la fin de chaque mois en
changeant le mois c'est à dire :

=FIN.MOIS(DATE(ANNEE(AUJOURDHUI());2;1);0) pour février

Attention : la macro complémentaire utilitaire d'analyse doit être chargée.

J'espère que c'est assez clair :-s

Cordialement.

Gros Minet.

"Gros Minet" a écrit dans le message de news:

Re,

En effet ma réponse n'était pas pédagogique...

La fonction utilisée est Úte(année;mois;jour).
J'ai remplacé la partie Année de la syntaxe par =Année(Aujourdhui()) qui
te renvoie l'année de la date du jour. Ainsi, plus de problème pour les
années suivantes.
Pour la partie Mois, j'ai mis 1 pour janvier.
Pour la partie Jour, j'ai mis le 31 (dernier jour).

Mais en effet l'adaptation n'est pas facile, il faut pour chaque mois que
tu remplaces la partie Mois et la partie Jour.
Je vais esayer de trouver mieux et je reviens.

A +

Cordialement.

Gros Minet.

"13Hubert" a écrit dans le message de
news:
Salut Gros Minet et merci de te pencher sur ma question.

Est-ce que ça me convient ?
Ben..., je ne sais pas trop en fait car je n'ai pas saisi le sens de la
formule...
Ce qui fait que pour le mois de janvier, cela semble fonctionner mais
lorsque je veux l'insérer dans ma feuille "février", je ne sais pas quoi
modifier pour qu'elle s'adapte...
J'espère m'être fait comprendre... <:-)

Merci
Hubert
--
...from Marseille !



Bonjour !

As-tu essayé ceci : ÚTE(ANNEE(AUJOURDHUI());1;31) ?

Ça te convient ?

Cordialement.

Gros Minet.

"13Hubert" a écrit dans le message
de
news:
OUP'S !!

J'ai bien inséré la date du 01/01 dans ma cellule A1 de ma feuille
"Janvier" etc...



Vous l'aurez compris, je parlais du 31/01

J'ai les doigts fourchus, pardon !

Hubert
--
...from Marseille !
















Avatar
Gros Minet
Re,

Me voilà de retour pour réparer une erreur : je réalise que tu travailles
sur Excel 97 (tu l'avais pourtant précisé !) et que la fonction FIN.MOIS que
je t'ai proposée n'existe pas dans cette version. J'ai aussi pensé que si le
mois est inscrit "en dur", même dans une formule, tu allais avoir un souci
avec les années bisextiles (obligé de corriger le 28 févr en 29 févr). La
fonction FIN.MOIS résolvait ce problème mais maintenant... il faut donc
procéder autrement et calculer le dernier jour du mois.
Alors voilà une idée très c** mais qui marche bien :

Le dernier jour d'un mois, c'est le 1er jour du mois suivant moins 1 jour.
Stupide n'est-ce pas :-)
Ta formule en A1 pourrait donc être :

ÚTE(ANNEE(AUJOURDHUI());2;1)-1 ce qui te renvoie 31/01/2006.
Je décompose :
ANNEE(AUJOURDHUI()) renvoie 2006
2 c'est février et 1 c'est le 1er. On a donc le 1er février 2006
-1 (sous entendu -1 jour) ça fait 31/01/2006

Si tu mets ça dans la cellule A1 de toutes tes feuilles en changeant
simplement le mois, par exemple
ÚTE(ANNEE(AUJOURDHUI());3;1)-1 pour obtenir le 28 février tout va marcher.

Reste le 31 décembre, qui est le 1er janvier de l'année suivante moins 1
jour : on va le traduire comme ça :
ÚTE(ANNEE(AUJOURDHUI())+1;1;1)-1

Voilà ! Encore mille excuses pour mon inattention.

Cordialement.

Gros Minet.


"Gros Minet" a écrit dans le message de news:
%
Coucou me revoilou !

On peut utiliser la fonction FIN.MOIS(date de départ;nombre de mois avant
ou après la date de départ) qui, comme son nom l'indique, donne le dernier
jour du mois à partir d'une date. Si le nombre de mois est 0, elle donne
le dernier jour du mois de la date de départ choisie. Donc si on lui dit :

=FIN.MOIS(DATE(ANNEE(AUJOURDHUI());1;1);0)

ça donne le 31/01/2006

Il faut ensuite l'adapter pour qu'elle te donne la fin de chaque mois en
changeant le mois c'est à dire :

=FIN.MOIS(DATE(ANNEE(AUJOURDHUI());2;1);0) pour février

Attention : la macro complémentaire utilitaire d'analyse doit être
chargée.

J'espère que c'est assez clair :-s

Cordialement.

Gros Minet.

"Gros Minet" a écrit dans le message de news:

Re,

En effet ma réponse n'était pas pédagogique...

La fonction utilisée est Úte(année;mois;jour).
J'ai remplacé la partie Année de la syntaxe par =Année(Aujourdhui()) qui
te renvoie l'année de la date du jour. Ainsi, plus de problème pour les
années suivantes.
Pour la partie Mois, j'ai mis 1 pour janvier.
Pour la partie Jour, j'ai mis le 31 (dernier jour).

Mais en effet l'adaptation n'est pas facile, il faut pour chaque mois que
tu remplaces la partie Mois et la partie Jour.
Je vais esayer de trouver mieux et je reviens.

A +

Cordialement.

Gros Minet.

"13Hubert" a écrit dans le message
de news:
Salut Gros Minet et merci de te pencher sur ma question.

Est-ce que ça me convient ?
Ben..., je ne sais pas trop en fait car je n'ai pas saisi le sens de la
formule...
Ce qui fait que pour le mois de janvier, cela semble fonctionner mais
lorsque je veux l'insérer dans ma feuille "février", je ne sais pas quoi
modifier pour qu'elle s'adapte...
J'espère m'être fait comprendre... <:-)

Merci
Hubert
--
...from Marseille !



Bonjour !

As-tu essayé ceci : ÚTE(ANNEE(AUJOURDHUI());1;31) ?

Ça te convient ?

Cordialement.

Gros Minet.

"13Hubert" a écrit dans le message
de
news:
OUP'S !!

J'ai bien inséré la date du 01/01 dans ma cellule A1 de ma feuille
"Janvier" etc...



Vous l'aurez compris, je parlais du 31/01

J'ai les doigts fourchus, pardon !

Hubert
--
...from Marseille !




















Avatar
AV
| sur Excel 97 (tu l'avais pourtant précisé !) et que la fonction FIN.MOIS que
| je t'ai proposée n'existe pas dans cette version.

Mais si, mais si, elle existe !
Encore faut-il, comme dans toutes les autres versions, installer la macro
complémentaire "Utilitaire d'Analyse" !

Le mieux est de ne pas utiliser cette fonction mais d'utiliser les fonctions
natives d'XL
Exemple :
Au lieu de :
=FIN.MOIS(A1;3)
mieux vaut :
ÚTE(ANNEE(A1);MOIS(A1)+4;)
C'est un poil plus long mais on est à l'abri de mauvaises surprises...

AV
Avatar
Gros Minet
Bonjour !

T'est sûr que =FIN.MOIS exite dans 97 ? En fait je n'ai plus cette version
et j'ai eu un doute. Mais j'avais bien précisé à Hubert de charger la macro
complémentaire.
Sinon biensûr pour calculer la fin du mois de n'importe quelle date
ÚTE(ANNEE(A1);MOIS(A1)+1;JOUR(1))-1
et on ajoute ce qu'on veut au mois selon l'échéance à obtenir, mais ça aussi
on peut le compliquer...

Cordialement.

Gros Minet.

"AV" a écrit dans le message de news:

| sur Excel 97 (tu l'avais pourtant précisé !) et que la fonction FIN.MOIS
que
| je t'ai proposée n'existe pas dans cette version.

Mais si, mais si, elle existe !
Encore faut-il, comme dans toutes les autres versions, installer la macro
complémentaire "Utilitaire d'Analyse" !

Le mieux est de ne pas utiliser cette fonction mais d'utiliser les
fonctions
natives d'XL
Exemple :
Au lieu de :
=FIN.MOIS(A1;3)
mieux vaut :
ÚTE(ANNEE(A1);MOIS(A1)+4;)
C'est un poil plus long mais on est à l'abri de mauvaises surprises...

AV




Avatar
AV
| T'est sûr que =FIN.MOIS exite dans 97 ?

Non seulement ça existe dans XL97 mais ça existe depuis XL5 !

| Sinon biensûr pour calculer la fin du mois de n'importe quelle date
| ÚTE(ANNEE(A1);MOIS(A1)+1;JOUR(1))-1
| et on ajoute ce qu'on veut au mois selon l'échéance à obtenir, mais ça aussi
| on peut le compliquer...

Au lieu de compliquer, on peut surtout faire plus simple en ne définissant pas
le 3° argument de la fonction DATE (le jour)
ÚTE(ANNEE(A1);MOIS(A1)+1;)

Pour XL ça signifie : le jour 0 (celui avant le 1) du mois suivant celui de la
date, donc le dernier jour du mois de la date

AV
Avatar
Gros Minet
Yes !

"AV" a écrit dans le message de news:
%
| T'est sûr que =FIN.MOIS exite dans 97 ?

Non seulement ça existe dans XL97 mais ça existe depuis XL5 !

| Sinon biensûr pour calculer la fin du mois de n'importe quelle date
| ÚTE(ANNEE(A1);MOIS(A1)+1;JOUR(1))-1
| et on ajoute ce qu'on veut au mois selon l'échéance à obtenir, mais ça
aussi
| on peut le compliquer...

Au lieu de compliquer, on peut surtout faire plus simple en ne définissant
pas
le 3° argument de la fonction DATE (le jour)
ÚTE(ANNEE(A1);MOIS(A1)+1;)

Pour XL ça signifie : le jour 0 (celui avant le 1) du mois suivant celui
de la
date, donc le dernier jour du mois de la date

AV