Forum Clubic

Tri de nombres dans Excel

Bonjour,
J’ai une liste de CD numérotés ainsi :
09(année).(point) 56 (nombres à la suite)
Or, dans Excel, je veux les trier du plus petit au plus grand (du plus ancien au dernier acheté).
Mais dans son ordre le n° 09.140 (trois chiffres après le point) est après 09.1000.
J’ai pris un exemple de chiffres au hasard mais voici la suite :

08.981 24/12/2008
09.1000 02/02/2009
09.1000 02/02/2009
09.1001 20/02/2009
09.1002 15/02/2009
09.1002 15/02/2009
09.1003 23/02/2009


09.1058 04/06/2009
09.1059
09.914
09.982
09.983
09.984

Pourquoi il considère que 09.1058 est plus petit que 09.914 ?
Je précise que le format est bien en nombre.
Faut-il les saisir autrement ?
Merci de votre aide.

Parce que 9 est plus grand que 1 :wink:
On n’est pas dans le cas d’un banal nombre où il peut comparer la valeur intrinsèque. De fait il prends de gauche à droite.

Si tu veux que ça marche il faut que tu ai toujours le meme nombre de chiffre et placer un 0 à la place des chiffre manquant.

Au lieu d’avoir 09.914 tu mets 09.0914 et là il triera comme tu le souhaites… normalement.
Edité le 24/07/2009 à 20:17

Tape =ESTNUM(A1) dans une cellule vide (en supposant que ton tableau de valeurs commence en A1), et =ESTTEXTE(A1) dans une autre, tu verras que tu es bien en train de travailler sur des cellules texte.
Le format ne sera appliqué que si tu entres dans la cellule un contenu qui est la représentation d’une valeur numérique
Edité le 24/07/2009 à 23:27

Il y a un moyen de s’en sortir. J’ai testé sur Openoffice. Ce doit être très voisin, voire identique sur Excel.
Supposons que les valeurs : 09.1048… 09.914… etc… sont dans la colonne A
Supposons que les colonnes D et E sont libres.

Dans la colonne D :
=STXT(A1;1;2)

Dans la colonne E :
=SI(NBCAR(A1)=6;CONCATENER(0;STXT(A1;4;NBCAR(A1)-3));STXT(A1;4;NBCAR(A1)))

Ensuite, reste plus qu’à trier croissant sur les colonnes D et E


On peut encore améliorer (ou compliquer) la formule pour n'utiliser qu'une colonne (au lieu des 2 : D et E).
Aller, je te la donne .....

En utilisant uniquement la colonne E :
=SI(NBCAR(A1)=6;CONCATENER(STXT(A1;1;3);0;STXT(A1;4;3));A1)

Puis trier sur la colonne E

tu peux aussi utiliser une colonne additionnelle au format nombre pour faire ton tri :
Dans ce cas, il te faut d’abord isoler les parties significatives, et est transformer en numérique
=CNUM(GAUCHE(A1;2))*10000 + CNUM(STXT(A1;4;30))
ça a l’avantage de fonctionner même avec moins de 3 caractères à droite du point

NB : le facteur 10000, c’est pour s’assurer que les années auront toujours un poids supérieur au numéro d’ordre.
A ajuster si la partie droite derrière le point fait plus de 4 caractères