Afficher le Nb de mois entre deux dates, qui changent

Résolu/Fermé
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015 - 28 août 2013 à 21:23
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 31 août 2013 à 21:15
Bonjour,

Je travaille sur un tableau Excel qui devrait me donner le nombre de mois entre deux dates, pour chaque année calendaire, comprise entre la date de début et la date de fin.
Mais les dates peuvent s'étaler sur trois années calendaires.

J'explique:

Colonne A: date de début qui peut se situer en 2013, 2014, 2015... sous forme jj/mm/aa
Colonne B: Date de fin qui peut se situer en 2013, 2014, 2015... sous forme jj/mm/aa
A: peut être: 1/01/13 et B peut être 31/05/14 par ex.

Colonne C: Nombre de mois en 2013, compris entre la date de début et la date de fin, ou la fin de l'année si l'année de la date de fin est supérieure à celle du début.
par ex: Début= 1/08/13 et fin = 31/03/14

Colonne D idem que C mais pour 2014
ici j'ai tenté: =SI(ANNEE(A1)=2014;SI(ANNEE(B1)=2014;MOIS(B1)-MOIS(A1)+1;"");SI(ANNEE(A1)=2013;SI(ANNEE(B1)=2014;MOIS(B1)-MOIS(01/01/2014)+1;"").
Jusque là la formule semble fonctionner, mais il me manque la troisième condition, et quand je la rajoute, il me dit "faux"...
La troisième condition étant: SI(ANNEE(A1)=2013;SI(ANNEE(B1)=2015;MOIS(31/12/2014)-MOIS(1/01/2014)+1;"")

Colonne E Idem que C et D mais pour 2015 avec toutes les variantes possibles pour la date de début (2013, 2014, 2015... et la date de fin)

Les "faux" qui s'affichent lorsque les valeurs sortent de la plage de calcul de la formule, je n'arrive pas à les supprimer non plus...

Si quelqu'un pouvait m'aider à résoudre cette équation ce serait sympa. merci d'avance...

Cordialement
A voir également:

7 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
28 août 2013 à 21:31
Bonjour,

Regardes cette fonction qui devrait résoudre ton problème.
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
28 août 2013 à 21:42
Merci gbinforme,

Mais déja tenté sans plus de succès. en fait la difficulté est liée au fait qu'il me faut le nombre de mois de l'année correspondant à ma colonne (2013, 2014, 2015...), alors que la date de début peut être différente de un a deux ans par rapport à la date de fin.

mais merci quand même
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
28 août 2013 à 22:18
Bonjour,

Tu as tenté mais tu n'as peut-être pas tout essayé car il me semble que c'est possible avec cette fonction.

Je te mets ce classeur test avec tes dates et quelques autres :

https://www.cjoint.com/c/CHCwriiCyLo
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
28 août 2013 à 22:33
Je n'arrive pas à atteindre ton document... 9a rame et pas moyen d'arriver...
Dsl j'essaye demain à partir du boulot car chez moi g que du 512K (Zone blanche) GRRRRRRR!!!!

Mais pas sur que ma demande soit suffisamment claire.
Il me faut en C, D et E le nombre de mois correspondant à l'année de la colonne.
C Nb mois pour 2013 en fonction des dates début fin
D Nb de mois pour 2014 en fonction des dates début et fin
E Nb de mois pour 2015 en fonction des dates début et fin

A suivre... mais merci de tes réponses...
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
28 août 2013 à 22:53
Effectivement cjoint a ce soir un souci, il faut du temps pour avoir une réponse, mais j'ai réussi à poster.
Il me semble que c'est bien ainsi que j'ai compris, "Début= 1/08/13 et fin = 31/03/15" donne 5 mois en 2013, 12 en 2014 et 3 en 2015, n'est-ce pas ?
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
28 août 2013 à 23:01
Oui c'est bien ça! Mais les dates peuvent aussi bien être début 1/01/13 et fin 31/01/13 par ex. donc en 2013 il me faut 1 en 2014 et 2015 0, alors que dans tous mes essais très compliqués je l'admets, suis pas un pro... il me met "FAUX" dès que les dates sortent des valeurs de la formule, et pas moyen de faire mieux... je rame dpuis un moment, alors que je suis sûr que la solution existe... en tous cas, merci à toi... Je verrai demain si le lien fonctionne pour récupérer ton document. Bonne soirée et encore merci...
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
28 août 2013 à 23:21
Pour tenir compte des fin de mois et avec un libellé plus explicite :

https://www.cjoint.com/c/CHCxtnx9efm
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
28 août 2013 à 23:25
J'ai réussi à charger ton classeur. Il m'a transformé les formules et affiche une valeur #NOM?
Le début de la formule se présente de cette façon sur le classeur:
=_xlfn.IFFERROR(DATEDIF(MAX...
Je n'ai pas trouvé par quoi remplacer le =_xlfn... j'ai bien essayé =DIFFERROR(MAX(....
Mais il m'affiche toujours #NOM?
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
29 août 2013 à 09:25
Bonjour,

Sans doute que tu es en 2003 alors voilà la formule pour la version 2003 :

https://www.cjoint.com/c/CHDjxhBW0Rx

La précédente, plus simple, nécessite 2007 au moins.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
29 août 2013 à 11:12
Bonjour gbinforme,

Excellent!!! ça roule du tonnerre... J'ai effectivement une version 2004, d'où le soucis hier soir...
En tous cas, merci infiniment pour ta patience avec moi et ton efficacité...
Pas de regrets de m'être inscrit sur ce forum...

Je pense que j'aurai d'autres équations à te soumettre, car je cherche à rationaliser nos outils, et pas facile quand on ne maitrise pas les formules...
je suis donc amené à de joyeux "bricolages" avec des formules lourdes et complexes, là où vous autres trouves des formules simples et efficaces...
Je te souhaite une excellente journée et te remercie encore...
Cdlt.
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
29 août 2013 à 21:25
Re,
Je suis en train d'essayer de comprendre ta formule, alors je teste... Du coup je me rends compte que j'ai oublié un détail. Dans mes dates de début il y en a aussi qui commencent le 16 et donc celles de fin sont le 15 du mois. Dans ces cas là, la formule ne me compte pas le mois, alors que pour moi j'ai besoin qu'elle me le compte.
J'espère que je n'abuse pas... mais je n'ai pas encore compris la formule dans le détail...
Merci d'avance.

Bien cordialement
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
30 août 2013 à 17:40
Bonjour,

J'étais absent et je reprend mais je ne comprend pas :
Dans mes dates de début il y en a aussi qui commencent le 16 et donc celles de fin sont le 15 du mois. Dans ces cas là, la formule ne me compte pas le mois, alors que pour moi j'ai besoin qu'elle me le compte.
Si tu as 15/01/2013 et 15/02/2013 cela affiche bien 1 mois en 2013 ?

La formule de base prends comme
- date d'entrée le 31 décembre précédent ou la date réelle si dans l'année
- date de sortie le 1er janvier suivant ou la date réelle +1 si dans l'année

DATEDIF(MAX($A2;DATE(C$1-1;12;31));MIN($B2+1;DATE(C$1+1;1;1));"m")
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
30 août 2013 à 22:08
Bonjour,
En fait ce sont des "présences" dont j'ai besoin pour mon tableau.
Donc le 16/01/13 et 15/02/13 doivent me donner 2.

Mais peut être que depuis le départ je me complique la vie. Il existe peut être un moyen pour me donner le résultat final que j'essaye d'obtenir sans passer par la "nombre de mois"...
J'explique la finalité de mon tableau que je voudrais construire.

A partir de la date de départ et la date de fin, j'ai besoin d'avoir dans une colonne les mois de présence de la personne pour chaque année comprise entre les deux dates.

Ex: Du 16/01/13 au 15/01/14 dans la colonne C pour 2013 j'ai besoin d'identifier les 12 mois de l'année, et en colonne D, il me faudra le mois de janvier pour 2014, et ainsi de suite...
L'objectif étant de pouvoir filtrer les mois et avoir les effectifs présents le mois filtré.

1 étant Janvier, 2 février...
Je sais pas si c'est clair... lol
0
Peut-être plus facile d'insérer des conditions sur les jours dans cette formule:

=SI(ANNEE($B2)<C1;0;(SI(ANNEE($B2)=C1;(SI(ANNEE($A2)=ANNEE($B2);MOIS($B2)-MOIS($A2);MOIS($B2)));(SI(ANNEE($B2)>C1;(SI(ANNEE($A2)=C1;13-MOIS($A2);(SI(ANNEE($A2)<C1;12;0)))))))))
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
30 août 2013 à 22:12
Bonsoir,

Merci pour cette autre piste, mais je pense que j'aurais mieux fait de préciser dès le départ mon objectif final, ça aurait été plus simple pour tout le monde. Mais j'avais une idée de traitement de mes besoins, et du coup ça complique la vie à tout le monde je pense... Je viens de redéfinir mon besoin final sur la réponse de gbinforme... En tous cas, merci à toi navigo pour ta propositiopn que je note et qui me servira probablement par ailleurs... vous êtes cool ici... merci beaucoup...
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
31 août 2013 à 09:46
Bonjour,

Je travaille sur un tableau Excel qui devrait me donner le nombre de mois entre deux dates

L'objectif étant de pouvoir filtrer les mois et avoir les effectifs présents le mois filtré.

Effectivement la façon de réaliser le souhait est différente !
Je te propose ceci avec 2 solutions : filtre et mensuel global

https://www.cjoint.com/c/CHFjQWtenQp
0
excelmann Messages postés 66 Date d'inscription mercredi 28 août 2013 Statut Membre Dernière intervention 7 mai 2015
31 août 2013 à 14:39
Bonjour gbinforme,
Magnifique boulot, c'est absolument ce à quoi je voulais arriver...
Tu fais ça avec une simplicité... alors que moi je dois mettre en place des cellules cachées, qui vont me servir par la suite...
Là c'est net et sans bavure... En plus la formule est compréhensible pour moi, donc génial... :)
Pour info, c'est la version "global" qui me convient le mieux, car j'ai besoin de filtrer sur le mois, et n'avoir à l'écran pour impression que les personnes présentes le mois filtré.
Mais je garde les deux, lol l'autre pourra me servir par ailleurs je pense.
Merci infiniment... Vraiment sans toi je ramais pendant je ne sais combien de temps encore.
A très bientôt....
Crdialement
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
31 août 2013 à 21:15
Bonjour excelmann,

Merci de ton sympathique message.

J'ai mis les 2 solutions et tu choisis celle qui te convient le mieux :)

alors que moi je dois mettre en place des cellules cachées

C'est vrai que c'est la tentation première mais souvent, il y a des fonctions utiles pour éviter les complications et une formule élaborée est plus performante que plusieurs fonctions, même simples. Mais tout le monde a débuté avec ces procédés...

Bonne utilisation et à bientôt peut-être ;-)
0