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 :
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
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)
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