Probleme de dates

laagarkane -  
 laagarkane -
Bonjour,
J'ai un probleme concernant la soustraction de dates...
Voilà, j'aimerais calculer l'ancienneté d'une personne dans une entreprise. je fais donc:
date d'aujourd'hui - date d'embauche.
ce qui donne sous forme de fonction:

=AUJOURDHUI()-[cellule contenant la date d'embauche]

j'ai ensuite donné a la cellule qui contient cette fonction une forme personnalisée "aa" à la place de "jj/mm/aaaa"

le résultat trouvé est le bon, mais le problème vient dans la suite:

j'aimerais ensuite faire des opérations sur le résultat trouvé (exemple: calculer une prime d'ancienneté si le salarié est depuis plus de 4ans dans l'entreprise.)
Seulement la véritable valeur contenue dans la cellule n'est pas 15 (si nous sommes en 2009 et que le salarié a été embauché en 94, comme c'est le cas chez moi), mais 06/01/1995
du coup, il me converti cette date en nombre (5485) et rends tous mes calculs faux (c'est pas 5485 que je veux, mais bien 15 ici...)

Quelqu'un aurait-il la solution? une fonction sous excel qui me permettrait de ne conserver que les 2derniers chiffres d'une date...

Merci d'avance

9 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour
=ANNEE(AUJOURDHUI())-ANNEE(C2)
0
laagarkane
 
Mmmh.. ca ne marche pas, j'avais déjà essayé, ca me donne le résultat suivant:

(dans le cas ou la date d'aujourd'hui est 16/10/2009 et où la date d'embauche du salarié est 10/10/1994: )

15/01/1900 00:00

:/ en changeant de format, je peux n'afficher que le jour à l'écran, mais si je veux utiliser ce résultat pour un autre calcul, j'ai le même probleme :S
0
Raymond PENTIER Messages postés 71871 Date d'inscription   Statut Contributeur Dernière intervention   17 402
 
Bonjour.

"Seulement la véritable valeur contenue dans la cellule n'est pas 15 (si nous sommes en 2009 et que le salarié a été embauché en 94, comme c'est le cas chez moi), mais 06/01/1995
du coup, il me converti cette date en nombre (5485) et rends tous mes calculs faux (c'est pas 5485 que je veux, mais bien 15 ici...)
"

Pour Excel, les dates et les heures sont des nombres. C'est un format de cellule particulier qui permet d'obtenir un affichage reconnaissable.

Quand tu opères la soustraction 12/01/2009-06/01/0994 en réalité Excel calcule 39825-34340 ce qui donne bien 5485. Il t'appartient de diviser ce résultat par 365,25 pour transformer ce nombre de jours en un nombre d'années !

Ta formule deviendra =(AUJOURDHUI()-[cellule contenant la date d'embauche])/365,25
0
laagarkane
 
bon en fait pour récupérer la valeur que je veux, il me suffit d'utiliser la fonction jour.... mais si j'ai un nombre d'années supérieur à 31 (immagineons qu'un salarié travaille dans l'entreprise depuis 40 ans? :O)?

je sèche...
0

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

Posez votre question
Raymond PENTIER Messages postés 71871 Date d'inscription   Statut Contributeur Dernière intervention   17 402
 
Ton post 4 n'a pas lieu d'être. La fonction jour est à exclure.
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 450
 
Bonsoirt
s'il s'agit de compter des années complètes pour l'ancienneté, il y a un moyen d'éliminer les années incomplètes en passant par les mois:
A1 date aujourdhui
B1 date d' entrée:
=SI(MOIS(A1)>=MOIS(B1);ANNEE(A1)-ANNEE(B1);ANNEE(A1)-ANNEE(B1)-1)
cette formule donne (dans un format standard):
15 si le mois de A1 est plus grand ou égal à celui de B1
14 dans le cas contraire
Cela suffira peut être
Crdlmnt
0
laagarkane
 
Je n'ai pas tout compris ^^'

voici finalement la fonction que j'ai utilisé:

=JOUR(ANNEE(AUJOURDHUI())-ANNEE(E9)) (E9 contenant la date 10/10/1994)

J'obtient ainsi la valeur 15 en format nombre standard (je peux donc ensuite calculer la prime d'ancienneté selon le calcul suivant:
=SI(E10<4;"";2000+200*E10)

(2000francs +200francs par années d'ncienneté, si l'ancienneté de l'employé est >4)
Mais si l'employé est dans l'entreprise depuis, mettons 1975, j'obtient non pas 2009-1975=34 , mais 03, puisqu'il a converti les 31 1ers jours en mois...

Comment remédier à ce probleme?...
0
Raymond PENTIER Messages postés 71871 Date d'inscription   Statut Contributeur Dernière intervention   17 402
 
Au post 3 je t'ai proposé une solution, fiable et avérée, que tu n'as pas testée.
Au post 5 je t'ai déconseillé la fonction JOUR(), que tu réutilises cependant.
Comment peut-on remèdier à ton problème si tu refuses les remèdes ?
0
laagarkane
 
Autant pour moi ^^' désolé, jsuis resté bloqué sur les jours, je sais pas pourquoi...

Merci bcp
0