TRIER après calcul ancienneté

gelatine

XLDnaute Nouveau
TRIER sur le champ "Ancienneté" type "x A x M x J"

Bonjour,
Le souci : trier par ordre décroissant d'ancienneté une liste de personnes (sans faire appel à une macro)
L'étape de la formule DATEDIF est ok, ex. "2 A 1 M 27 J"
le souci est que "2 A 11 M 0 J" apparaît après "2 A 3 M 0 J"
- faut-il obligatoirement "découper les 3 données Année, Mois, Jours de chaque cellule" vers 3 cellules ?
j'ai testé Données Convertir ... il me transforme "2 A" en "2:00 AM" ... je n'ai pas trouvé de solution par Format/Cellule

si vous avez des idées, je testerai avec plaisir :)

gelatine, 1er post
 
Dernière édition:

Jocelyn

XLDnaute Barbatruc
Re : TRIER après calcul ancienneté

Bonjour le Forum,
Bonjour gelatine,

Je suppose si tu as une formule dateDif que tu as aussi une colonne qui renseigne la date d'entrée alors pourquoi ne pas effectuer la tri a partir de cette colonne (en triant cette colonne en ordres croissant)

Jocelyn
 

gelatine

XLDnaute Nouveau
Re : TRIER sur le champ "Ancienneté" type "x A x M x J"

et non çà aurait été trop simple :p...
j'ai juste le champ "ancienneté" dans le fichier Excel et le publipostage doit être trié par ordre décroissant de l'"ancienneté".
Merci pour ta proposition,
D'autres idées ;)
A+
 
Dernière édition:

abcd

XLDnaute Barbatruc
Re : TRIER après calcul ancienneté

Bonjour,

La formule DATEDIF renvoie-t-elle un format texte ou le format est-il obtenu par un format personnalisé ?
Sans voir la formule, difficile de le dire.

Dans les deux cas, il faut régler le format de sorte qu'il renvoie les années, mois et jours en 2 caractères, par exemple 02 A 11 M 00 J.
Dès lors le tri ne posera plus problème.

Si tu as encore des difficultés, mets un exemple en pièce jointe.

abcd
 

gelatine

XLDnaute Nouveau
Re : TRIER après calcul ancienneté

avec le fichier ... ce sera plus explicite
c'est du format texte et je n'arrive pas à en faire un format personnalisé :D
merci pour les pistes,
 

Pièces jointes

  • TRIER_Ancienneté.xls
    26 KB · Affichages: 110

gelatine

XLDnaute Nouveau
Re : TRIER après calcul ancienneté

Salut Denis132,
Ta formule ne fonctionne pas en effet :
11 A 11 M 8 J renvoit 703
11 A 11 M 29 J renvoit 697 ... hors 29 Jours > 8 Jours
.. si vous avez une idée pour transformer rapidement en format type "00 A 00 M 00 J" :)
toute autre piste est bien sûr la bienvenue,
a+
 

abcd

XLDnaute Barbatruc
Re : TRIER après calcul ancienneté

Bonjour,

J'aimerais connaitre la formule qui calcule l'ancienneté, car c'est là qu'il faut intervenir.
Avec du texte pas moyen de faire autre chose qu'une colonne supplémentaire.
Une proposition par macro XL4, avec les inconvénients connus.

Pour Denis : on dirait que la formule proposée pose quelques petits problèmes.

abcd
 

Pièces jointes

  • gelatineV1.zip
    10.1 KB · Affichages: 67

gelatine

XLDnaute Nouveau
Re : TRIER après calcul ancienneté

Bonsoir à tous les forumeurs,
Denis 132 : ok et merci... donc ta formule convertit en "NB de jours total" ... faudra que je prenne le temps de la compréhension :rolleyes:
abcd : lundi, de retour au boulot je reverrai la formule DATEDIF ... car à l'avenir çà serait top d'avoir le résultat au format que tu propose "xx A xx M xx J"
encore merci à tous pour vos propositions,
gelatine
 

abcd

XLDnaute Barbatruc
Re : TRIER après calcul ancienneté

Salut Denis,

Encore quelques petits problèmes :

Les demi-journées ne sont pas prises en compte partout.

Entre les lignes 78 (0 A 9 M 16,5 J)=286 et 82 (0 A 8 M 16,5 J)=246,5 il y a 1 mois de différence, ce qui devrait donner 30 jours et non 39,5.
Ceci provient du fait qu'il manque une espace entre M et 16,5 en ligne 82.

Ce qui laisse aussi supposer qu'il y a d'autres problèmes avec la formule DATEDIF.

abcd
 

gelatine

XLDnaute Nouveau
Re : TRIER après calcul ancienneté

Bonjour à tous,

voilà la formule DATEDIF utilisée :
DATEDIF(B18;AUJOURDHUI();"y")&" A "&DATEDIF(B18;AUJOURDHUI();"ym")&" M "&DATEDIF(B18;AUJOURDHUI();"md")&" J"
si vous avez des pistes, des propositions, je suis intéressée :p
A+
 
Dernière édition:

abcd

XLDnaute Barbatruc
Re : TRIER après calcul ancienneté

Bonjour,

Appliquer un format texte en deux caractères :
=TEXTE(DATEDIF(B18;AUJOURDHUI();"y");"00")&" A "&TEXTE(DATEDIF(B18;AUJOURDHUI();"ym");"00")&" M "&TEXTE(DATEDIF(B18;AUJOURDHUI();"md");"00")&" J"

Le tri se fait parfaitement.


abcd
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87