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

LinDouch42 -  
Raymond PENTIER Messages postés 58988 Date d'inscription   Statut Contributeur Dernière intervention   -
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
A voir également:

6 réponses

Raymond PENTIER Messages postés 58988 Date d'inscription   Statut Contributeur Dernière intervention   17 353
 
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.
1
LinDouch42
 
Merci mais le fichier joint ne semble pas être le bon.
0
PapyLuc51 Messages postés 4516 Date d'inscription   Statut Membre Dernière intervention   1 486
 
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
1
LinDouch42
 
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
0
PapyLuc51 Messages postés 4516 Date d'inscription   Statut Membre Dernière intervention   1 486 > 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
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
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)
1
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
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
0
LinDouch42
 
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
0
Raymond PENTIER Messages postés 58988 Date d'inscription   Statut Contributeur Dernière intervention   17 353
 
En effet, Linda, le fichier concernait un autre demandeur ...
Voici le bon : https://www.cjoint.com/c/JKnmRklMcLg
Bisou.
1
LinDouch42
 
Merci, méthode très intéressante.

Cdt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Raymond PENTIER Messages postés 58988 Date d'inscription   Statut Contributeur Dernière intervention   17 353
 
Bonsoir Linda.

Tu annonces une formule, mais tu ne l'as pas écrite !
De plus, tu n'as joint ton fichier Excel ...
0
LinDouch42
 
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
0
Raymond PENTIER Messages postés 58988 Date d'inscription   Statut Contributeur Dernière intervention   17 353
 
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.
0