Nombre de mois complets

  • Initiateur de la discussion Initiateur de la discussion andré
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

andré

XLDnaute Barbatruc
Salut,

Je cherche à compter, par formule et sans faire usage des macros complémentaires de l’utilitaire d’analyse, le nombre de mois complets de date à date.
Par mois complet il faut entendre du premier au dernier jour d’un mois.

Quelques exemples seront plus explicites (de A1 à C8).
01/09/05 28/02/06 6
02/09/05 28/02/06 5
01/09/05 27/02/06 5
02/09/05 27/02/06 4
30/09/05 02/02/06 4
01/09/05 29/09/05 0
02/09/05 30/09/05 0
01/09/05 30/09/05 1

La formule :
=MAX(0;MOD(MOIS(B1)-MOIS(A1);12)-1+(JOUR(A1)=1)+(DATE(ANNEE(B1);MOIS(B1)+1;0)=B1))
semble renvoyer le résultat attendu.

Ma question :
Quelqu’un a-t-il sous la main (ou dans un coin de la tête) une formule plus simple ?

Merci d’avance et bon week-end.
Â+
 
Bonjour Monique,

Eh oui, c'est une approche fort valable.

Petit bemol toutefois, le même problème que celui que j'avais rencontré :
Pour une période du 02.09.05 au 29.09.05, la formule renvoie -1

Raison pour laquelle j'avais ajouté la fonction MAX, à défaut d'avoir trouvé mieux.

Compte tenu de cette restriction, tu me fais quand même faire une économie de 4 caractères (lol).

Je te remrcie de t'être penchée sur ce problème, qui n'est pas aussi évident que ce qu'on pourrait supposer au départ.

Bon week-end.
André
 
Bonjour Monique,

J'avais fais les essais sur la base des dates proposées par André.

J'avais pas été plus loin (à tort).

Ta formule fonctionne bien si on dépasse les 12 mois.

Voir cependant ce dont a besoin André


@+
 
Salut Tibo,

Comme disait Iapafoto (un ami japonais) : on peut copier !

Toutefois même petite restriction que pour les deux autres formules, il faut ajouter un MAX pour éviter un nombre de mois à -1.

En dehors de cela, j'ai testé en parallèle les trois formules sur de longues plages de dates : s'il y a erreur, c'est la même partout (lol).

Merci bien Tibo, comme quoi dans trois têtes il y a toujours plus que dans une.

Bon week-end.
André
 
Resalut vous deux ,

Monique, tu as entièrement raison.
Ta formule passe au-delà des 12 mois, les deux autres pas.

Pour moi, ce n'était pas une contrainte.
Il s'agit d'un calcul de mois complets prestés par année académique pour des intérimaires de l'enseignement, donc du 01.09 au 30.06.

Je vais toutefois essayer de combiner ton idée à celle de Tibo, et voir si une 4ième formule ne pourrait voir le jour.

Je vous tiens au courant, si je trouve quelque chose.

André.
 
Re,

Rt voilà, après de nombreux tests, la formule suivante semble répondre à la question (étendue aux années).

C'est un cocktail des diverses propositions, mais qui fait quand même 24 caractères de moins :

=MAX(0;(ANNEE(B1+1)-ANNEE(A1))*12+MOIS(B1+1)-MOIS(A1-1)-1)

Pouvez vous tester de votre côté ?

Bonne soirée.
Argentine/Mexique : 1/1 !

Â+
 
Bonjour tous,

Bonjour André ta formule semble poser problème avec les calculs qui commencent le 1er du mois.(Si ce n'est moi qui buggue).J'ai copié ta formule pour faire l'essai.Ta formule c'est la 1ère colonne,la 2ème colonne est calculée avec celle de Monique.

01/01/2006 31/01/2006 0 1 Erreur
01/02/2006 28/02/2006 1 1 Ok
01/03/2006 31/03/2006 1 1 Ok
01/01/2006 01/02/2006 0 1 Erreur
01/01/2006 01/03/2006 0 2 Erreur
01/01/2006 01/04/2006 0 3 Erreur
01/01/2006 01/05/2006 0 4 Erreur
01/01/2006 25/06/2006 0 5 Erreur
01/01/2006 25/07/2006 0 6 Erreur
01/01/2006 31/08/2006 0 8 Erreur
01/01/2006 30/09/2006 0 9 Erreur
01/01/2006 30/10/2006 0 9 Erreur
01/01/2006 30/11/2006 0 11 Erreur
01/01/2006 30/12/2006 0 11 Erreur
01/01/2006 30/01/2007 0 12 Erreur
02/01/2006 31/01/2006 0 0 Ok
31/01/2006 31/01/2006 0 0 Ok
02/01/2006 28/02/2006 1 1 Ok
01/06/2005 31/05/2006 12 12 Ok
01/06/2005 01/06/2006 12 12 Ok
01/01/2005 31/05/2005 0 5 Erreur
01/06/2005 01/10/2005 4 4 Ok
01/01/2005 31/01/2005 0 1 Erreur
01/09/2005 30/09/2005 1 1 Ok
01/07/2005 31/07/2005 1 1 Ok
01/05/2005 31/05/2005 1 1 Ok
01/04/2005 30/04/2005 1 1 Ok
01/03/2005 31/03/2005 1 1 Ok
01/02/2005 28/02/2005 1 1 Ok
01/01/2005 31/01/2005 0 1 Erreur
01/01/2005 31/05/2005 0 5 Erreur
Bonne journée
 
Salut Claude,

Effectivement, il y a eu un petit problème de recopie sous mon post.

Peux-tu essayer avec la formule suivante et me dire si tu obtiens les bons résultats.
Chez moi, cela fonctionne :

=MAX(0;(ANNEE(B1+1)-ANNEE(A1-1))*12+MOIS(B1+1)-MOIS(A1-1)-1)

Merci de me l'avoir fait remarquer.
Â+
 
Salut André,

Je viens de faire un test à mon tour et ça marche.

Bravo


Quant à la formule que j'avais proposé

=MAX(0;MOD(MOIS(B2+1)-MOIS(A2-1);12)-1)

elle est bonne pour le Zop, elle donne 0 pour un intervalle du 01/01/06 au 30/11/06, c'est à dire lorsque le résultat doit être égal à 11.

Bon dimanche

@+
 
Resalut vous deux,

Encore merci Claude.
Voilà une affaire réglée.

Tibo, il ne faut pas être aussi catégorique.
Ma première formule avait la même erreur que la tienne (à un jour près).
Mais ta formule m'a permise d'écrire la dernière.
Donc il ne faut pas que tu la ZAP(pes) aussi vite.

Bon dimanche.
Â+

PS : tiens, tiens 'zapper' n'est pas repris au dictionnaire (pas plus que 'zipper' et 'zopper')!
ZUP alors !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
483
Réponses
20
Affichages
842
Réponses
2
Affichages
799
  • Question Question
Microsoft 365 Règle de 3
Réponses
11
Affichages
800
Retour