Calculer le nombre de mois entre deux dates avec condition

GILBERTO BRAGA

XLDnaute Occasionnel
Bonjour à tous

Je suis à la recherche d’une solution à mon problème.

Précis calculer le nombre de mois entre deux dates, et en y ayant du solde de jours, ajouter plus 1 mois si le solde de jours est > = 15 jours.

Exemple 1 : 10/07/2010 à 16/05/2011 = 10 mois + 6 jours = 10 mois

Exemple 2 : 10/07/2010 à 28/05/2011 = 10 mois + 19 jours = 11 mois

Exemple 3 ; 01/06/2011 à 20/06/2011 = 0 mois + 20 jours = 1 mois

Exemplo4 : 01/06/2011 à 10/06/2011 = 0 mois + 10 jours = 0 mois

Exemple5 : 24/06/2011 à 05/07/2011 = 0 mois + 12 jours = 0 mois

Merci beaucoup!

Gilberto - Foz do Iguaçu/Brasil
 

ROGER2327

XLDnaute Barbatruc
Re : Calculer le nombre de mois entre deux dates avec condition

Re...


Je ne veux rien dire de plus que, si j'en crois la réaction de notre ami, vous êtes celui qui lui donne la solution de son problème.​


Cordialement,


ROGER2327
#5466


Samedi 14 Gueules 139 (Nativité de J. Verne, globetrotter en chambre - fête Suprême Quarte)
19 Pluviôse An CCXX, 9,1476h - pulmonaire
2012-W06-3T21:57:15Z
 
Dernière édition:

KenDev

XLDnaute Impliqué
Re : Calculer le nombre de mois entre deux dates avec condition

Bonjour à tous,

Gilberto, j'ai le sentiment que les interprétations varient à la mesure de ta demande :
-> >=15 au 1er post
-> + transformation de l'année au 2ème post.
-> >=14 dans le classeur du 3ème post, + résultat 0 si anniversaire

Une formule ridiculement longue pour la 3ème demande. Sans Datedif ni sans passer par l'écriture de la nouvelle date.

Code:
=SI(SI(JOUR(A2)<=JOUR(B2);1;SI(JOUR(A2)<=JOUR(DATE(ANNEE(B2);MOIS(B2);1)-1);2;3))=1;MOIS(B2)-MOIS(A2)+12*(DATE(ANNEE(B2);MOIS(A2);JOUR(A2))>B2)+(B2-CHOISIR(SI(JOUR(A2)<=JOUR(B2);1;SI(JOUR(A2)<=JOUR(DATE(ANNEE(B2);MOIS(B2);1)-1);2;3));DATE(ANNEE(B2);MOIS(B2);JOUR(A2));DATE(ANNEE(B2);MOIS(B2)-1;JOUR(A2));DATE(ANNEE(B2);MOIS(B2)-1;JOUR(DATE(ANNEE(B2);MOIS(B2);1)-1)))>=14);MOIS(B2)-MOIS(A2)+12*(DATE(ANNEE(B2);MOIS(A2);JOUR(A2))>B2)-1+(B2-CHOISIR(SI(JOUR(A2)<=JOUR(B2);1;SI(JOUR(A2)<=JOUR(DATE(ANNEE(B2);MOIS(B2);1)-1);2;3));DATE(ANNEE(B2);MOIS(B2);JOUR(A2));DATE(ANNEE(B2);MOIS(B2)-1;JOUR(A2));DATE(ANNEE(B2);MOIS(B2)-1;JOUR(DATE(ANNEE(B2);MOIS(B2);1)-1)))>=14))

Suivant l'exemple de Roger, le classeur joint contient un échantillon de dates limites illustrant les différents résultats selon les 6 formules proposées. Toujours pas de résultats semblables.

Cordialement

KD
 

Pièces jointes

  • Classeur2.xls
    80.5 KB · Affichages: 98
  • Classeur2.xls
    80.5 KB · Affichages: 87
  • Classeur2.xls
    80.5 KB · Affichages: 94

GILBERTO BRAGA

XLDnaute Occasionnel
Re : Calculer le nombre de mois entre deux dates avec condition

Bonjour à tous.

Je remercie de coeur l'aide reçue.
KenDev, j'ai expérimenté ta formule et les résultats sont corrects.
Je crois que les erreurs qui arrivent avec la fonction Datadif c'est en raison du suivant :
Exemple : Début = 01/05/2011 Fin = 15/05/2011 En utilisant la fonction Datadif, comme dans la formule du Rachid, se produit le suivant : =DATADIF ("01/05/2011";"15/05/2011";"MD") = 14 jours
Pour mon problème, le calcul correct serait = 15 jours.

Cordialement
Gilberto
 

ROGER2327

XLDnaute Barbatruc
Re : Calculer le nombre de mois entre deux dates avec condition

Bonjour à tous, bonjour Rachid


je pense que 15-1=14
@ + +
Rachid
J'ai tendance à penser comme vous. Le problème ici, c'est qu'on ne sait pas exactement ce qu'on cherche...​


ROGER2327
#5472


Dimanche 15 Gueules 139 (Alice au Pays des Merveilles - fête Suprême Tierce)
20 Pluviôse An CCXX, 7,5329h - serpette
2012-W06-4T18:04:44Z
 

GILBERTO BRAGA

XLDnaute Occasionnel
Re : Calculer le nombre de mois entre deux dates avec condition

Bonjour à Tous

Rachid et Roger. Correct. 15-1 = 14 jours.

Mais, pour mon problème, je dois tenir compte que, du jour 01/05/2011 au jour 15/05/2011 il ya 15 jours.

Ainsi, en adaptant votre formule, le résultat souhaité pour moi est:

= DATEDIF (A4, B4, "M") + SI (DATEDIF (A4, B4, "MD") +1> = 15, 1, 0)


Si tu il observe mien premier message, j'ai placé l'exemple nº 4

Exemplo4 : 01/06/2011 à 10/06/2011 = 0 mois + 10 jours = 0 mois

10 jours et non 9 jours.

Ils excusent quelque placement fait de manière incorrecte. C'est qu'utilisation le traducteur du Google pour me communiquer avec ce excellent forum.

Cordialement

Gilberto
 

ROGER2327

XLDnaute Barbatruc
Re : Calculer le nombre de mois entre deux dates avec condition

Re...


(...)
Si tu il observe mien premier message, j'ai placé l'exemple nº 4

Exemplo4 : 01/06/2011 à 10/06/2011 = 0 mois + 10 jours = 0 mois

10 jours et non 9 jours.
(...)

D'accord, mais :
Exemple 1 : 10/07/2010 à 16/05/2011 = 10 mois + 6 jours = 10 mois
Pourquoi 6 jours et non 7 jours ?​


ROGER2327
#5474


Lundi 16 Gueules 139 (Saint Münchhausen, baron - fête Suprême Quarte)
21 Pluviôse An CCXX, 0,6512h - thlaspi
2012-W06-5T01:33:46Z
 

GILBERTO BRAGA

XLDnaute Occasionnel
Re : Calculer le nombre de mois entre deux dates avec condition

Correct Roger.

Dans cet exemple j'ai manqué.
Du 10/07/2010 au 09/05/2011 = 10 mois
Du 10/05/2011 au 16/05/2011 = 7 jours.

Ils excusent mon erreur.

Dans un autre forum, un collègue a suggéré la fonction VBA à annexe.
 

Pièces jointes

  • férias proporcionais Gilberto.xls
    75.5 KB · Affichages: 46

ROGER2327

XLDnaute Barbatruc
Re : Calculer le nombre de mois entre deux dates avec condition

Re...


Merci ! Je comprends mieux.

Dans le classeur, le code est très compliqué.

Pour 30/04/1982 --> 13/06/1982, feriasproporcionais renvoie 1.
Pour 10/07/2008 --> 10/07/2011, feriasproporcionais renvoie 0.

Sont-ce les résultats attendus ?

À vous lire...


ROGER2327
#5479


Mardi 17 Gueules 139 (Le Bétrou - fête Suprême Quarte)
22 Pluviôse An CCXX, 1,3716h - thyméle
2012-W06-6T03:17:30Z
 

GILBERTO BRAGA

XLDnaute Occasionnel
Re : Calculer le nombre de mois entre deux dates avec condition

Bonjour à tous

Roger, en fait le calcul dans 30/07/1982 à 13/06/1982, renvoie =1 est incorrect
Le correct est 2.
La formule avec datadif et ce de KenDev sont correctes, comme il peut être vu dans des Vacances ! C106 de la planilha joint en annexe. Aussi dans Férias1 ! C30 le calcul est 2.

Apparemment, la fonction personnalisée est de ne pas calculer correctement dans certaines situations où les mois suivant en ayant 31 jours.

Pour 10/07/2008 --> ; 10/07/2011, feriasproporcionais renvoie 0, la raison est que le collègue qui m'a passé fonction personnalisée a placé dans le code VBA l'instruction :

If prop >= 12
Fériasproporcionais = 0
Else
Fériasproporcionais = 1

La raison d'avoir demandé aide au forum a été pour calculer les vacances dues au travailleur.
Au Brésil, quand l'employé est dispensé sans avoir enlevé des vacances, pour chaque mois, ou fraction de mois égal ou supérieur à 15 jours, il reçoit une indemnisation équivalente au temps de service dans la société.
Par une question de nomenclature, jusqu'à 11 mois, nous appelons de vacances proportionnels, pour 12 mois appelons de vacances vaincues.

Quand il arrive pour le calcul des vacances proportionnels = 12, nous disons que les vacances proportionnels = 0, pour le paiement de 12 mois sera sous le nom de vacances annuels.

Cordialement,
Gilberto
 

Pièces jointes

  • férias proporcionais Gilberto 1.xls
    168 KB · Affichages: 85

KenDev

XLDnaute Impliqué
Re : Calculer le nombre de mois entre deux dates avec condition

Bonjour à tous,

@Gilberto :

Ci joint un petit échantillon de dates ou les méthodes des posts #18, #24, #27 ont des résultats différents. Quels sont les bons ?

KD Fer DD
24/02/2011 18/02/2012 12 0 12
18/01/2011 02/02/2011 1 1 0
26/07/2010 10/02/2012 7 7 6
28/10/2010 12/02/2011 4 4 3
24/01/2011 08/02/2012 1 1 0
30/11/2010 13/02/2012 3 2 2

Cordialement

KD
 

Pièces jointes

  • B.xls
    55 KB · Affichages: 58
  • B.xls
    55 KB · Affichages: 60
  • B.xls
    55 KB · Affichages: 56

ROGER2327

XLDnaute Barbatruc
Re : Calculer le nombre de mois entre deux dates avec condition

Bonjour à tous


Décidément, je n'y comprends rien.
Ma question précédente portait sur 30/04/1982 à 13/06/1982, pas sur 30/07/1982 à 13/06/1982 (qui ne renvoie d'ailleurs pas -1 mais #Valeur!).

Je dépose mon classeur d'essai, reprenant beaucoup d'exemples, avec les solutions de GILBERTO BRAGA (fonction feriasproporcionais), KenDev, pierrejean et quelques tentatives personnelles.

Sur ce, je passe la main.​


Bon courage.


ROGER2327
#5481


Mardi 17 Gueules 139 (Le Bétrou - fête Suprême Quarte)
22 Pluviôse An CCXX, 6,1228h - thyméle
2012-W06-6T14:41:41Z
 

Pièces jointes

  • Nb de mois arrondi.xlsm
    62.3 KB · Affichages: 60

GILBERTO BRAGA

XLDnaute Occasionnel
Re : Calculer le nombre de mois entre deux dates avec condition

Bonjour à Tous

KenDev, je ne sais pas ce qui s'est produit avec ta planilha. Dans mien, à annexe, le seul résultat incorrect est de la fonction personnalisée, dans D7 --> reinvoie 2. Le correct est 3.

30/11/2010 - 29/12/2010 = 1 mois
30/12/2010 - 29/01/2011 = 1 mois
30/01/2010 - 13/02/2011 = 15 jours = 1 mois
Total = 3 mois

Dans D2, la différence est parce que, à la fonction VBA, chaque fois que le résultat sera égal à 12, le résultat c'est 0. Il ne s'agit pas proprement d'une erreur, mais d'une option. J'ai essayé d'expliquer ci-dessus la raison.
 

Pièces jointes

  • Cópia de B-2.xls
    48.5 KB · Affichages: 53

Discussions similaires

Réponses
15
Affichages
532
Réponses
11
Affichages
564

Statistiques des forums

Discussions
312 393
Messages
2 088 010
Membres
103 699
dernier inscrit
samSam31