XL 2016 ajouter des durées entre elles au format année mois jours

dc@RH

XLDnaute Nouveau
bonjour à tous,

Dans le cadre de mes fonctions, je dois établir un tableau qui contiendra la somme de durée temps en "ans" "mois" "jours". Ces durées sont discontinues.
Par exemple j'ai dans une colonne 01/05/2011 et dans la colonne suivante 30/04/2013 et ensuite dans une autre colonne 01/05/2016, dans la colonne suivante 30/04/2019.
Je désire faire la somme des durées entre chaque date au format "x ans" "x mois" "x jours".

j'ai déjà essayé avec des DATEDIF, des MOD mais je n'arrive pas à trouver une formule qui calcul au jour juste! Et parfois lorsque le nombre de mois est à 12, cela ne passe pas ces douze mois en une année supplémentaire dans le résultat.

dans la colonne AP du tableau joint je désire donc insérerer le calcul de somme des durée de contrats. Ceci pour une double vérification. je désire trouver des résulats de la forme 14 ans 1mois 28 jours et non pas 13 ans 13 mois 28 jours.

Quelqu'un a-t-il un tuyau? un solution viable?

En vous remerciant d'avance
 

Pièces jointes

  • CALCUL_DUREE_RH.xlsx
    13.9 KB · Affichages: 11

Dranreb

XLDnaute Barbatruc
Non, ça ne marche plus avec des DateDif dont les résultats dépendent des nombres de jours conventionnels des mois des dates particulières impliquées. Ça dépend des nombres de jours séparant les dates indépendamment de celles ci et des sommes de ces nombres de jours.
 

Jeff_PP

XLDnaute Nouveau
Bonjour
Si je vois bien il faut rajouter des périodes en colonnes, an-mois- jour.
Ces périodes sont calculées à partir des dates de début et de fin de contrat que je suppose être en mois 30 jours.
Puisque vous travaillez, je suppose en RH, tous les mois de l'année sont de 30 jours pur les contrats.
Pouvez -vous me dire si vous eu une solution?
Je pense avoir trouvé la solution dans le cadre d'une application excel que je développe et dans laquelle je dois additionner des périodes.
Essayant d'avoir des tuyaux je suis tombé sur votre questionnement.
 

Jeff_PP

XLDnaute Nouveau
bonjour à tous,

Dans le cadre de mes fonctions, je dois établir un tableau qui contiendra la somme de durée temps en "ans" "mois" "jours". Ces durées sont discontinues.
Par exemple j'ai dans une colonne 01/05/2011 et dans la colonne suivante 30/04/2013 et ensuite dans une autre colonne 01/05/2016, dans la colonne suivante 30/04/2019.
Je désire faire la somme des durées entre chaque date au format "x ans" "x mois" "x jours".

j'ai déjà essayé avec des DATEDIF, des MOD mais je n'arrive pas à trouver une formule qui calcul au jour juste! Et parfois lorsque le nombre de mois est à 12, cela ne passe pas ces douze mois en une année supplémentaire dans le résultat.

dans la colonne AP du tableau joint je désire donc insérerer le calcul de somme des durée de contrats. Ceci pour une double vérification. je désire trouver des résulats de la forme 14 ans 1mois 28 jours et non pas 13 ans 13 mois 28 jours.

Quelqu'un a-t-il un tuyau? un solution viable?

En vous remerciant d'avance
bonjour à tous,

Dans le cadre de mes fonctions, je dois établir un tableau qui contiendra la somme de durée temps en "ans" "mois" "jours". Ces durées sont discontinues.
Par exemple j'ai dans une colonne 01/05/2011 et dans la colonne suivante 30/04/2013 et ensuite dans une autre colonne 01/05/2016, dans la colonne suivante 30/04/2019.
Je désire faire la somme des durées entre chaque date au format "x ans" "x mois" "x jours".

j'ai déjà essayé avec des DATEDIF, des MOD mais je n'arrive pas à trouver une formule qui calcul au jour juste! Et parfois lorsque le nombre de mois est à 12, cela ne passe pas ces douze mois en une année supplémentaire dans le résultat.

dans la colonne AP du tableau joint je désire donc insérerer le calcul de somme des durée de contrats. Ceci pour une double vérification. je désire trouver des résulats de la forme 14 ans 1mois 28 jours et non pas 13 ans 13 mois 28 jours.

Quelqu'un a-t-il un tuyau? un solution viable?

En vous remerciant d'avance
Bonjour
Avez-vous eu une solution? En effet je suis tombé sur votre questionnement en cherchant une solution dans le cadre d'une petite application montée sur Excel et dans laquelle je dois additionner des périodes.
Je suppose que vous travaillez en RH et puisqu'il s'agit de périodes de contrats, que ces derniers sont calculés en mois 30 jours,c-à-d que tous les mois de l'année sont calculés sur 30 jours.
Je pense avoir réussi à trouver une solution
 

Jeff_PP

XLDnaute Nouveau
peux-tu m'expliquer comment appliquer cela à une seule colonne? j'ai réalisé mes datedif dans mon tableau qui est joint plus haut! je voudrai donc faire la somme de mes résultats qui sont sous la forme de durée. les résultats sont en ligne. et je veux appliquer le calcul dans une colonne

bonjour à tous,

Dans le cadre de mes fonctions, je dois établir un tableau qui contiendra la somme de durée temps en "ans" "mois" "jours". Ces durées sont discontinues.
Par exemple j'ai dans une colonne 01/05/2011 et dans la colonne suivante 30/04/2013 et ensuite dans une autre colonne 01/05/2016, dans la colonne suivante 30/04/2019.
Je désire faire la somme des durées entre chaque date au format "x ans" "x mois" "x jours".

j'ai déjà essayé avec des DATEDIF, des MOD mais je n'arrive pas à trouver une formule qui calcul au jour juste! Et parfois lorsque le nombre de mois est à 12, cela ne passe pas ces douze mois en une année supplémentaire dans le résultat.

dans la colonne AP du tableau joint je désire donc insérerer le calcul de somme des durée de contrats. Ceci pour une double vérification. je désire trouver des résulats de la forme 14 ans 1mois 28 jours et non pas 13 ans 13 mois 28 jours.

Quelqu'un a-t-il un tuyau? un solution viable?

En vous remerciant d'avance
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Yo stoppe le flood, man ! 😅
Tu dois avoir un bouton pour éditer tes messages.
Et tu dois aussi avoir un bouton pour supprimer tes messages inutiles.
Alors n'hésite pas à les utiliser. 😉


Concernant la question initiale, comme déjà expliqué plus haut, les mois réels ayant des durées différentes, il est impossible d'additionner des durées sous forme "années mois jours" et obtenir une durée exacte, sauf si on passe par une transformation en nombre de jours de chacune des durées additionnées, ce implique de connaître la date de début et la date de fin de chacune de ces durées.

En revanche, on doit pouvoir le faire si on utilise des durées calendaires.
Mais dans ce cas, à partir de quelle somme de jours faut-il considérer qu'on a un mois entiers ???
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
bonjour à tous

vous constaterez que ça fonction meme avec des dates que excel ne peut pas gérer ( en dessous 1904)
demo.gif
 

Jeff_PP

XLDnaute Nouveau
Pour les spams, je suis désolé mais je ne vois pas ce que je dois actionner.
Concernant les ans mois et jours, il est question ici de durées de contrats. Or la durée des contrats en RH est calculée en mois de 30 jours à l'instar de la rémunération. Février est payé comme mars pour 30 jours chacun.
Si vous arrêtez le 27 février vous serez payé 27/30 alors que si vous travaillez jusqu'au 28 inclus ( ou 29 en année bissextile) vous serez payé le mois entier. C'est la notion de mois comptable qui prévaut.
C'est pourquoi je demande confirmation sur ce point à dc@RH, car je pense qu'il travaille dans ce domaine.
Pour ce qui est de la durée d'une période , je comprends que la fonction DATEDIf ne convient pas.
Prendre la fonction Jours 360 c'est mieux mais il faut rajouter 1 jour, au moins lorsque le dernier mois n'est pas entier, mais c'est plus simple pour reconstituer la période en durée comptable.
Et dans le cas du mois comptable il y a possibilité d'additionner des périodes.
Cordialement
 

patricktoulon

XLDnaute Barbatruc
re
tiens un exemple de méthode toute bête mais vraiment tout bête
que sont les date dans excel ?? des numéro de série correspondant au nombre de jour depuis 1900
que cela vous tienne
la formule est simple( le raisonnement)
X=le numérique de date2 moins le numérique de date1
retransformation du resultat X en date
l'année de ce résultat moins 1900 on a les années
le mois de cette date -1 on a les mois
le jour de cette date -1 on a les jours
voyons voir le test simple
VB:
Sub test()
dat1 = CDate("05/06/1980")
dat2 = CDate("12/08/2022")

x = CDate(CLng(dat2) - CLng(dat1)) 'la formule toute bete

a = Year(x) - 1900
m = Month(x) - 1
j = Day(x) - 1

Debug.Print a & " ans " & m & " mois " & j & " jours"
End Sub
je vous laisse transformer cela en petite fonction bien sympa
LOL
@TooFatBoy va se faire un plaisir je crois de faire ça ;) 😂
 

patricktoulon

XLDnaute Barbatruc
re
bonsoir
@TooFatBoy non au contraire
c'est bien ça fait évoluer les fonctions
et comme je te sent volontaire je te donne du grain a moudre

@mapomme oui je soustraite mais c'est par ce que je suis devenu fainéant 😂 😂 😂 😂

allez juste un debut
dites moi pourquoi le test3 me donne que 5 jours
VB:
Sub test1()
d1 = CDate("05/06/1980")
d2 = CDate("12/08/2022")
MsgBox DDFAMJ(d1, d2)
End Sub
Sub test2()
d1 = CDate("05/06/1980")
d2 = CDate("12/08/1980")
MsgBox DDFAMJ(d1, d2)
End Sub
Sub test3()
d1 = CDate("05/06/1980")
d2 = CDate("12/06/1980")
MsgBox DDFAMJ(d1, d2)
End Sub


Function DDFAMJ(dat1, dat2)

x = CDate(CLng(dat2) - CLng(dat1)) 'la formule toute bete

a = Year(x) - 1900
m = Month(x) - 1
j = Day(x) - 1

DDFAMJ = a & " ans " & m & " mois " & j & " jours"
End Function
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 926
Membres
101 841
dernier inscrit
ferid87