XL 2016 [Résolu]Calculer l'ancienneté en prenant en compte l'interruption

Statut
La discussion n'est pas ouverte à d'autres réponses

Kirill95

XLDnaute Nouveau
Bonjour à tous!

Est-ce que quelqu'un peut me donner une solution svp?
Je cherche une formule qui pourra calculer l'ancienneté mais qui soustrait au même temps l'interruption d'une autre cellule,

Exemple :
A - date d'embauche
B - interruption de travail
C - ancienneté de travail total

Où A est une date, B est une nombre de jours d'interruption et C une ancienneté en "A" "M" "J"

J'ai trouvé une formule qui est presque correcte, mais elle prend pas en compte les années bissextiles, du coup si la date d'embauche est beaucoup trop ancien (environ 10 ans est plus) il y aura 1 jours de décalage (pour certains cas il est possible d'ajuster la date finale si y a pas d'interruption en marquant -1 dans l'interruption, mais pour certains cas elle rajoute 2 jours au lieu de 1)

Voici ma formule actuelle :

=DATEDIF(A2 + B2; AUJOURDHUI();"y") & "A " & DATEDIF(A2 + B2; AUJOURDHUI();"ym") & "M " & DATEDIF(A2 + B2; AUJOURDHUI();"md") & "J"

Je vous serais très reconnaissant pour la solution
 

Pièces jointes

  • test (1).xlsx
    9.9 KB · Affichages: 4
Solution
Bonjour,

J'ai trouvé la formule exacte(Merci Hecatonchire)

=DATEDIF(A2;AUJOURDHUI()-B2;"y")&" A " & DATEDIF(A2;AUJOURDHUI()-B2;"ym")&" M " & DATEDIF(A2;AUJOURDHUI()-B2;"md")+(JOUR(A2)<=JOUR(AUJOURDHUI()))&" J "

Le soucis était aussi dans le logiciel SAP,
Il semble que SAP ajoute 1 si la date du jour est inférieur à la date d'entrée.

Problème résolu.

Kirill95

XLDnaute Nouveau
Bonjour à tous,

Sans datedif()

JHA
Bonjour JHA,
ça a l'air de fonctionner très bien, mais est-ce que c'est possible d'assembler le résultat dans une seule cellule en format "A" "M" "J" comme c'est marqué dans le tableau joint dans la cellule C2? et comment appliquer tous ça à tout la colonne? Tableau en PJ
 

Pièces jointes

  • test 2.xlsx
    10 KB · Affichages: 1
Dernière édition:

Kirill95

XLDnaute Nouveau
Bonjour à tous,

Il suffit de recopier les formules.

A essayer

JHA
JHA,

Malheureusement le problème persiste toujours 😢

Je vous joint le nouveau tableau avec 2 types de cas d'erreurs constatées en utilisant la dernière formule que vous m'avez indiqué

Le cas n°1 je n'arrive pas atteindre la date réelle en soustrayant les jours, de 400 à 401 ça saute de plusieurs jours

Le cas n°2 l'ancienneté réel on peut atteindre qu'en soustrayant une journée depuis interruption
 

Pièces jointes

  • TEST 3.xlsx
    9.5 KB · Affichages: 2

Kirill95

XLDnaute Nouveau
Bonjour à tous,

modification de la formule, il ne faut pas multiplier par 24 mais par 30.4375

JHA
JHA,

Je reviens vers vous d'après l'application de cette formule sur ma base

Pour tous ce qui est soustraction ça marche super bien, aucun soucis, mais certaines dates sans soustraction de l'interruption (0 jours) dans le cas d'absence de ceci présente le décalage d'une journée, exemple dans le tableau en PJ

Votre formule me semble correcte, peut-il y avoir une explication pourquoi cela se produit?

Kirill
 

Pièces jointes

  • TEST 4 (1).xlsx
    9.3 KB · Affichages: 4
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Est-ce normal que la cellule C5 contienne 1, donc une valeur positive ? 🤔

Une proposition :
Code:
=DATEDIF(B3; AUJOURDHUI()+C3;"y") & "A " & DATEDIF(B3; AUJOURDHUI()+C3;"ym") & "M " & DATEDIF(B3; AUJOURDHUI()+C3;"md") & "J"
 

Pièces jointes

  • TEST 4 (1).xlsx
    15.2 KB · Affichages: 4

Kirill95

XLDnaute Nouveau
Bonjour,

J'ai trouvé la formule exacte(Merci Hecatonchire)

=DATEDIF(A2;AUJOURDHUI()-B2;"y")&" A " & DATEDIF(A2;AUJOURDHUI()-B2;"ym")&" M " & DATEDIF(A2;AUJOURDHUI()-B2;"md")+(JOUR(A2)<=JOUR(AUJOURDHUI()))&" J "

Le soucis était aussi dans le logiciel SAP,
Il semble que SAP ajoute 1 si la date du jour est inférieur à la date d'entrée.

Problème résolu.
 
Statut
La discussion n'est pas ouverte à d'autres réponses

Discussions similaires

Statistiques des forums

Discussions
312 241
Messages
2 086 526
Membres
103 242
dernier inscrit
Patoshick