ajouter des mois à une date

melba

XLDnaute Occasionnel
Bonjour,

Vous m'aviez aidé il y a quelques temps dans l'élaboration d'une formule qui avait pour but de calculer une date de fin de contrat compte tenu de la date de naissance :

date de naissance + années à ajouter + mois à ajouter = date de fin de contrat

né avant le 01/07/1991 : 20 ans + 0 mois
né à compter du 01/07/1991 : 20 ans + 4 mois
né en 1992 : 20 ans + 8 mois
né en 1993 : 20 ans + 12 mois
né en 1994 : 20 ans + 16 mois
né en 1995 : 20 ans + 20 mois
né en 1996 : 20 ans + 24 mois

Voici la formule :
DATE(ANNEE(datenaissance)+20+(datenaissance>="01/01/1996"*1)*2;
MOIS(datenaissance)+((datenaissance>="01/07/1991"*1)*(datenaissance<"01/01/1996"*1))*(ANNEE(datenaissance)-1990)*4
+(JOUR(datenaissance)>1);1)


Le problème que j'ai maintenant c'est que je dois ajouter à cette formule qui reste valable un nombre de mois SUPPLÉMENTAIRES, ainsi mon tableau devient celui-ci :

date de naissance + années à ajouter + mois à ajouter + MOIS SUPPLÉMENTAIRES

avant le 01/07/1991 : 20 ans + 0 mois
à compter du 01/07/1991 : 20 ans + 4 mois

en 1992 : 20 ans + 8 mois + 1 MOIS
en 1993 : 20 ans + 12 mois + 2 MOIS
en 1994 : 20 ans + 16 mois + 3 MOIS

en 1995 : 20 ans + 20 mois
en 1996 : 20 ans + 24 mois

J'essaye en vain depuis cet après-midi.

Auriez-vous une solution?

Peut-être faudrait-il concevoir la formule initiale différemment maintenant alors que je m'acharne à vouloir ajouter ces mois supplémentaires sur la formule existante?

Là j'ai vraiment besoin de votre aide

@+
 

Pièces jointes

  • test mois suppl.xlsx
    11.6 KB · Affichages: 94
Dernière édition:

melba

XLDnaute Occasionnel
Re : ajouter des mois à une date

Bonjour,

merci Pascal21, cependant dans ma formule j'ai déjà ceci :

MOIS(datenaissance) + ((datenaissance>="01/07/1991"*1)*(datenaissance<"01/01/1996"*1))*(ANNEE(datenaissance)-1990)*4
+(JOUR(datenaissance)>1);1)

En fait, il s'agit maintenant d'ajouter à cette formule que si en plus la date de naissance est en 01/01/1992, ajouter 1 mois
Si la date de naissance est en 1993, ajouter 2 mois, si la date de naissance est en 1994, ajouter 4 mois.

Peut-être faudrait-il une formule à plusieurs conditions?

Merci par avance pour votre aide à tous
 

melba

XLDnaute Occasionnel
Re : ajouter des mois à une date

Bonjour,

ma formule prend déjà en compte les données du tableau mais sans fonction de recherche etc...comment continuer sur le même modèle mais en introduisant une condition :


si en plus la date de naissance est en 01/01/1992, ajouter 1 mois
Si la date de naissance est en 1993, ajouter 2 mois, si la date de naissance est en 1994, ajouter 4 mois?

Comme je ne maîtrise pas parfaitement la formule initiale déjà compliquée, je ne sais pas comment faire intervenir les nouveaux paramètres.
 

melba

XLDnaute Occasionnel
Re : ajouter des mois à une date

Bonsoir,

J'ai essayé toute la journée d'intégrer le nouveau paramètre à la formule initiale et il y a un instant j'ai relu la suggestion de Pascal21 et m'en suis inspirée.
Voici la solution que j'ai trouvée en pièce jointe : auriez vous une formule me permettant d'arriver tout de suite au résultat?

Merci pour votre aide
 

Pièces jointes

  • test mois suppl 5.xls
    28.5 KB · Affichages: 66

ROGER2327

XLDnaute Barbatruc
Re : ajouter des mois à une date

Bonsoir melba


Pour la "formule initiale", je vous propose :
Code:
=DATE(ANNEE(datenaissance)+20;MOIS(datenaissance)+1+INDEX({0;4;8;12;16;20;24};EQUIV(datenaissance;{0;33420;33604;33970;34335;34700;35065};1));1)

Pour la "nouvelle formule", ceci :
Code:
=DATE(ANNEE(datenaissance)+20;MOIS(datenaissance)+1+INDEX({0;4;8;12;16;20;24}+{0;0;1;2;3;4;0};EQUIV(datenaissance;{0;33420;33604;33970;34335;34700;35065};1));1)
qui se simplifie d'abord en :
Code:
=DATE(ANNEE(datenaissance)+20;MOIS(datenaissance)+1+INDEX({0;4;9;14;19;24;24};EQUIV(datenaissance;{0;33420;33604;33970;34335;34700;35065};1));1)
et finalement en :
Code:
=DATE(ANNEE(datenaissance)+20;MOIS(datenaissance)+1+INDEX({0;4;9;14;19;24};EQUIV(datenaissance;{0;33420;33604;33970;34335;34700};1));1)

Le vecteur
{0;33420;33604;33970;34335;34700;35065}
contient, outre le zéro initial présent pour raison technique, l'équivalent numérique des dates
01/07/1991;01/01/1992;01/01/1993;01/01/1994;01/01/1995;01/01/1996.​


Bonne nuit !



ROGER2327
#5558


Lundi 2 Pédale 139 (Saint André Marcueil, ascète cycliste - fête Suprême Quarte)
6 Ventôse An CCXX, 9,4556h - asaret
2012-W08-6T22:41:37Z
 

ROGER2327

XLDnaute Barbatruc
Re : ajouter des mois à une date

Suite...


En essayant systématiquement votre "formule initiale", il me semble que vous considérez que chaque mois débute le 2 et non le premier. Si tel est le cas, la première formule devient :
Code:
=DATE(ANNEE(datenaissance-1)+20;MOIS(datenaissance-1)+1+INDEX({0;4;8;12;16;20;24};EQUIV(datenaissance;{0;33420;33604;33970;34335;34700;35065};1));1)
(Modification analogue pour les autres formules.)​


Cela dit, je n'ai aucune idée de l'utilisation de ces formules, mais ces résultats m'étonnent :

année de naissance fin de contrat........
-----------------------------------------
30/11/1994 01/04/2016
01/12/1994 01/04/2016
02/12/1994 01/05/2016
31/12/1994 01/05/2016
01/01/1995 01/09/2016
02/01/1995 01/10/2016

01/02/1995 01/10/2016
02/02/1995 01/11/2016
03/02/1995 01/11/2016
-----------------------------------------​

ROGER2327
#5559


Mardi 3 Pédale 139 (Saint Ellen, hile - fête Suprême Quarte)
7 Ventôse An CCXX, 0,0238h - alaterne
2012-W08-7T00:03:26Z
 
Dernière édition:

melba

XLDnaute Occasionnel
Re : ajouter des mois à une date

Bonsoir

J'ai manqué de temps ces derniers jours mais je constate avec plaisir que vous avez travaillé sur ma formule.

Je vais examiner votre suggestion dès que possible : un très grand merci en tous cas

@+
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom