Calcul de l'ancienneté pour les personnes plus dans l'effectif

Signaler
-
Messages postés
52656
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
16 novembre 2020
-
Bonjour,

Je m'arrache les cheveux pour obtenir l'ancienneté de salariés.

Colonne L : date début contrat
Colonne M : date de fin contrat
Colonne N : =SI(L28="";"";(DATEDIF(L28;AUJOURDHUI();"y") & " ans " & DATEDIF(L28;AUJOURDHUI();"ym") & " mois"))

Cette formule me donne donc l'ancienneté uniquement de ceux qui sont dans l'effectifs.
Mais je n'arrive pas à trouvé une formule qui exprime : Si, la cellule M est vide, alors calcul de l'ancienneté entre cellule L et aujourdhui, sinon calcul de l'ancienneté de la cellule entre L à M.

Complication supplémentaire, Je souhaite pouvoir exprimer cette ancienneté en xx ans yy mois mais il arrive parfois que les contrats n'ont que quelques mois et dans ce cas les exprimer en xx mois et yy jours.

J'espère que mon besoin est clair pour vous et vous remercie pour votre aide.

Cdt

Pour ceux toujours dans l'entreprise pas de problème, la formule que j'ai :


Configuration: Windows / Chrome 86.0.4240.198

6 réponses

Messages postés
52656
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
16 novembre 2020
14 572
Comme tu le constates, ta formule est déjà très longue.
Si tu dois ajouter ces deux conditions supplémentaires, et en profiter pour mettre le "s" du pluriel pour "an" et pour "jour" seulement quand nécessaire, ta formule sera deux fois plus longue, et un vrai casse-tête si tu veux l'adapter plus tard ...
Dans ces cas-là, je procède toujours à des calculs intermédiaires, afin que ma formule principale reste accessible et compréhensible.
Ainsi j'ai placé 6 petites formules dans les colonnes U à Z, ce qui me permet d'avoir la formule "light" suivante :
=SI(L9="";"";SI(U9=0;"";U9&V9)&SI(W9=0;"";W9&X9)&SI(U9=0;Y9&Z9;""))
https://www.cjoint.com/c/JKmwXNVkGPg
Cordialement.
Merci mais le fichier joint ne semble pas être le bon.
Messages postés
2861
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
16 novembre 2020
773
Bonjour

Salutations Raymond

Ça m'arrive aussi d'utiliser les sous-calculs ;)

Pour la formule longue en voici une qui distingue le singulier du pluriel pour les années ; qui ne marque ni les mois ni les années si c'est égal à 0 ; et j'a ajouté un alerte quand la date de sortie est inférieur à la date d'entrée mise en évidence par une MFC ; et aussi la cellule reste vide également quand la cellule d'ENTRE est vide ou marque "?"

=SI(OU(L5="";L5="?");"";SI(M5="";SI(DATEDIF(L5;AUJOURDHUI();"y")=0;"";DATEDIF(L5;AUJOURDHUI();"y")&SI(DATEDIF(L5;AUJOURDHUI();"y")>1;" ans ";"an "))&SI(DATEDIF(L5;AUJOURDHUI();"ym")=0;"";DATEDIF(L5;AUJOURDHUI();"ym")&" mois");SI(M5<L5;"/!\ SORTIE < ENTREE";SI(DATEDIF(L5;M5;"y")=0;"";DATEDIF(L5;M5;"y")&SI(DATEDIF(L5;M5;"y")>1;" ans ";"an "))&SI(DATEDIF(L5;M5;"ym")=0;"";DATEDIF(L5;M5;"ym")&" mois"))))


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

Cordialement
Super, la formule semble être bien adapter et me permet même de voir les saisies incohérentes.

J'attends de voir la solution de Raymond avec le bon fichier pour ma connaissance personnelle mais en tout cas merci beaucoup PapyLucy51.

Cdt
Messages postés
2861
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
16 novembre 2020
773 > LinDouch42
Merci du retour,

Je viens de m'en apercevoir une petite correction à deux endroits de la formule ; mettre un espace avant an

SI(DATEDIF(L5;AUJOURDHUI();"y")>1;" ans ";" an "))

SI(DATEDIF(L5;M5;"y")>1;" ans ";" an "))

Cordialement
Messages postés
16295
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
13 novembre 2020
3 069
Bonjour tout le monde
sans de prendre la t^te


pour ceux qui sont toujours là:
=aujourdhui() en A2
date d'entrée en B2
En D2, et en E2 et en F2
formule: $B2-$A2
format nombre personnalisé aaaa en D2 mm en E2 jj en F2

et pour les retraités comme Raymond, Vaucluse et Moi
date de départ en A2 (champagne)
Messages postés
16295
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
13 novembre 2020
3 069
heu!...
les résultats sont des nombres et peuvent donc être utilisés pour des stats

lles années, mois, jours commencés mais non terminés sont comptés comme terminés
Merci Michel,

Mais je ne peux pas avoir en A2 et la mention Aujourdhui() et la date de départ. Cela suppose que je veux l'information sur deux colonnes différentes , alors que je veux l'info dans une seule colonne.

Cdt
Messages postés
52656
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
16 novembre 2020
14 572
En effet, Linda, le fichier concernait un autre demandeur ...
Voici le bon : https://www.cjoint.com/c/JKnmRklMcLg
Bisou.
Merci, méthode très intéressante.

Cdt
Messages postés
52656
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
16 novembre 2020
14 572
Bonsoir Linda.

Tu annonces une formule, mais tu ne l'as pas écrite !
De plus, tu n'as joint ton fichier Excel ...
Bonsoir, Raymond,

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

la formule =SI(M9="";(DATEDIF(L9;AUJOURDHUI();"y") & " ans " & DATEDIF(L9;AUJOURDHUI();"ym") & " mois");(DATEDIF(M9;AUJOURDHUI();"y") & " ans " & DATEDIF(M9;AUJOURDHUI();"ym") & " mois"))

Elle a l'aire de fonctionner sauf pour les contrats de qq mois. Je suis donc a la recherche d"une formule qui palier à ce pb.

Merci
Messages postés
52656
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
16 novembre 2020
14 572
Très chère Linda,

j'ai décidé que cette discussion ne pouvait pas s'arrêter là, et qu'elle méritait d'être prolongée !
En effet je n'ai pu résister au plaisir de tenter une autre approche de ton problème, en délaissant les cellules de calculs intermédiaires, mais en passant par les formules définies ...
Tu connais probablement déjà les noms définis et les plages définies (ou nommées).
Le même outil FORMULES/Noms définis/Gestionnaire de noms nous permet de créer également des formules nommées.
Je te propose donc les formules nommées dy, dm et dd, décrites dans le cadre en L16), que j'utilise dans ma formule principale en N9 (que tu peux lire tranquillement en L10).
Pour contrôle, j'ai testé différents cas de figure dans le tableau L11:N15.
Je pense que cette technique devrait te plaire, y compris pour d'autres fichiers que tu as en chantier, et devrait résoudre intégralement ton problème actuel.
https://www.cjoint.com/c/JKobiyB3tSg
Bisou.