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

Fermé
Signaler
-
Messages postés
55087
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
3 décembre 2021
-
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
55087
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
3 décembre 2021
17 011
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Merci mais le fichier joint ne semble pas être le bon.
Messages postés
3509
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
1 décembre 2021
1 023
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

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
3509
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
1 décembre 2021
1 023 > 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
16538
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
1 décembre 2021
3 252
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
16538
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
1 décembre 2021
3 252
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
55087
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
3 décembre 2021
17 011
En effet, Linda, le fichier concernait un autre demandeur ...
Voici le bon : https://www.cjoint.com/c/JKnmRklMcLg
Bisou.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Merci, méthode très intéressante.

Cdt
Messages postés
55087
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
3 décembre 2021
17 011
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
55087
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
3 décembre 2021
17 011
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.