Problème de tri sous excel

Résolu/Fermé
metallizazie - 23 nov. 2009 à 23:11
 metallizazie - 24 nov. 2009 à 19:46
Bonjour,

Voici mon problème :

Je souhaiterai classer un fichier selon une colonne dans un ordre chronologique "digit par digit"... comme un exemple vaut mieux qu'un long discours :
Si en données d'entrées j'ai 54, 5, 18645, 49, 05, 1B5894 et AZERTY
il me faut en données de sortie : 05, 18645, 1B5894, 49, 5, 54 et AZERTY

C'est-à- dire que je "regarde" d'abord le premier "digit" que je classe du plus petit au plus grand, puis le second, puis le troisième, etc...

Je pensais qu'avec l'option tri ascendant et en mettant "texte" en format de cellule cela fonctionnerai mais non....

Voici une image de mon fichier source et de celui après le tri, vous voyez que cela ne colle pas... La colle que je veux trier est la B dans l'exemple.

avant tri : https://www.hiboox.fr/

après mauvais tri : https://www.hiboox.fr/

Si certains d'entre vous ont des idées, ou si il leur ai arrivé la même chose, merci d'avance de prendre un peut de temps pour m'aider car là, je nage !!

Merci d'avance ;)
A voir également:

4 réponses

Co52 Messages postés 78 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 8 octobre 2016 3
23 nov. 2009 à 23:23
Bonjour,

Je ne sais si ma solution peut te convenir. Le problème c'est que ta liste est composée de valeur alphanumérique et de valeur numérique. Même en choisissant un format texte, une valeur numérique reste numérique.
Il faut donc tout convertir en alphanumérique. Pour cela j'utilise la fonction TEXTE(B1;0).

J'ai fait un essai sur un petit nombre de lignes ci-dessous.
786TAP100-65
786
162583
688512
815815
3300116133
3300119133
ALPHAIR-DN65-AP100

et voilà le tri que j'ai obtenu après avoir créé une nouvelle colonne avec la fonction TEXTE

162583
3300116133
3300119133
688512
786
786TAP100-65
815815
ALPHAIR-DN65-AP100
0
metallizazie
24 nov. 2009 à 08:36
bonjour, cela parait me convenir tout a fait (en tout cas le résultat obtenu est ce que je souhaite).

pouvez vous m'expliquer un peu plus en détail commant convertir ma colonne au format texte réellement ?

Merci d'avance,
0
Co52 Messages postés 78 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 8 octobre 2016 3
24 nov. 2009 à 10:51
Bonjour,

Pour pouvoir convertir au format texte, je crée une colonne éventuellement ici en C

Dans cette colonne, dans la cellule C2 je mets la fonction =TEXTE(B2;0). B2 étant la cellule que je veux convertir, 0 correspondant au format texte que je veux utiliser. Ici, je veux voir un nombre converti en alphanumérique mais en partant d'un nombre entier.

Je recopie cette formule sur la totalité de mes lignes puis je refais un tri non plus sur la ligne B mais sur la ligne C.

Je ne l'ai testé que sur quelques lignes. J'espère que ça fonctionne dans tous les cas de figure

Voila bon tri
0
Co52 Messages postés 78 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 8 octobre 2016 3
24 nov. 2009 à 11:32
Je viens de faire le test en utilisant une valeur commençant par zéro ça ne fonctionne pas parce que dans ce cas là on perd les zéros de gauche si la valeur ne contient que des chiffres (07002637 devient 7002637 par contre 0AB456 reste 0AB456)

Je te propose donc une autre formule un peu plus complexe

=SUBSTITUE(TEXTE(SUBSTITUE(A1;0;"*");0);"*";"0")

En gros j'ai regroupé trois fonctions dans la même.

Je commence par remplacer tous les 0 par des * (si * risque d'être utiliser dans une cellule trouver un autre caractère qu'on ai sur de ne pas avoir dans cette colonne @, #, ?,etc... a toi de voir)

Mon nombre 07002637 devient donc *7**2637 de même 0AB456 devient *AB456

Ensuite je converti en format texte comme je l'ai expliqué dans mon message précédent

Et enfin je remplace mes * par des 0 pour revenir a ma valeur de départ mais qui a ce moment là est au format texte et donc on peut faire un tri dessus

J'espère que j'ai été assez claire, si tu as un soucis n'hésite pas
0
metallizazie
24 nov. 2009 à 19:46
oui très clair, merci.

En fait j'ai trouvé un autre moyen pendant la journée. J'ai simplement activé l'option vérification d'erreurs et refait un "enter" près avoir double-cliquer dans chaque cellule, et la : miracle ça fonctionne bien ... surtout ne pas chercher à comprendre....

En tout cas merci à vous !
0