Mois-décaler anomalie ?

Fermé
Pygos - 3 oct. 2013 à 13:07
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 26 nov. 2014 à 12:58
Bonjour,

excel 2013

Je suis confronté à un problème avec cette fonction, mon exemple,

=SI(K7>0;MOIS.DECALER(K7;6)-1;0)

Si j'indique en K7 , 04/03/2013 cela fonctionne et le résultat est 03/09/2013

Si j'indique en K7 , 31/03/2013 cela ne fonctionne pas, car le résultat est 29/09/2013 au lieu de 30/03/2013 ( date souhaitée)

Merci d'avance de m'aider à résoudre ce mystère...

Cordialement,

4 réponses

Je précise que l'anomalie est certainement lié au fait que juillet et août ont 31 jours, je ne rencontre pas le problème pour le 31/01 d'une année....
0
Bon j'ai indiqué dans deux cellules cachés les dates posant problème (31/03/2013, 31/05/2013) et résultat différent si = à ces deux dates........
0
tontong Messages postés 2567 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 20 novembre 2024 1 059
3 oct. 2013 à 14:34
Bonjour,
Anomalie, non, mais la façon de compter adoptée par Excel demande une bonne compréhension pour obtenir le résultat recherché.
=MOIS.DECALER(K7;6) décale de 6 mois la valeur K7 mais si K7 = 31/03/13 on devrait trouver le 31 septembre qui n'existe pas, Excel a choisi de renvoyer le dernier jour du mois donc le 30/09/13.

MOIS.DECALER("30/03/13";6)=MOIS.DECALER("31/03/13";6)=30/09/13
Pour le 31/01/13 plus 6 mois >> pas de problème puisque le 31 juillet existe.
Pour votre application regardez si
=SI(K7>0;MOIS.DECALER(K7-1;6);0) convient mieux.
Vous pouvez aussi essayer de composer avec
Date( Annee();Mois();Jour()).
0
Lentzouille Messages postés 670 Date d'inscription mardi 27 septembre 2011 Statut Membre Dernière intervention 11 septembre 2020 64
3 oct. 2013 à 14:37
Bonjour,

C'est incompréhensible ta formule,
Avec 04/03/2013 tu veux bien décaler de 6 mois
Par contre avec 31/03/2013 tu veux juste décaler de 1 jour,

Que veux tu faire au final ?!
0
Oui je veux décaler de 6 mois, en prenant le dernier jour du mois en réponse...

Un autre problème, si j'indique en 1ère date le 01/03/2014 il m'indique 28/08/2014 au lieu de 31/08/2014....Merci !
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
Modifié par Vaucluse le 26/11/2014 à 12:26
Bonjour
essayez peut être:

=FIN.MOIS(MOIS.DECALER(A1;6);0)

pour être à la fin du 6° mois complet suivant la date en A1


=FIN.MOIS(MOIS.DECALER(A1;5);0) s'il faut inclure le mois de la date dans les 6
crdlmnt
0
Bonjour,

Merci encore une fois pour ta contribution !

Je vais essayer d'être plus clair dans ma question...

Si j'indique le 02/03/2014, j'attends comme réponse le 01/09/2014
Si j'indique le 01/03/2014, j'attends comme réponse le 31/08/2014
Souhait >Calcul 6 mois de date à date

Mais le problème, c'est que le mois de février ne contient dans mon exemple que 28 jours en 2014, que les 2 mois d'été(juillet et août ont 31 jours), et donc que j'essaye d'adapter la fonction décaler....

=SI(K7>0;MOIS.DECALER(K7-1;6);0)

Merci d'avance !
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
26 nov. 2014 à 12:45
Je ne vois pas les problèmes signalés

le fait que le système affiche 29/9 quand vous entrez 31/3 est normal, puisque Excel va chercher un jour avant la fin du mois correspondant.
par contre on comprend mal votre premier message, je vous cites:

"31/03/2013 cela ne fonctionne pas, car le résultat est 29/09/2013 au lieu de 30/03/2013 ( date souhaitée) "
vous voulez décaler de 6 mois et retrouver la date un jour avant celle de départ????

Et enfin si vous voulez décaler de 6 mois moins un jour, essayez avec:

=DATE(ANNEE(K7);MOIS(K7)+6;JOUR(K7)-1)

ce sera sans doute plus juste en fonction de vos attentes.

crdlmnt
0
Oui en effet, ma question initiale était effectuée avec des erreurs....Merci pour tout !

C'est une solution qui prend en compte aussi les jours, c'est ce que je souhaitais !!

Merci à tous !
0