Tri alphanumérique

yapapeno Messages postés 8 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 9 février 2008 - 7 déc. 2007 à 23:58
yapapeno Messages postés 8 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 9 février 2008 - 9 déc. 2007 à 14:25
Bonjour,

Y a-t-il un bête format de nombre permettant à excel de trier sur la partie numérique d'une chaine alphanumérique, la partie texte de la chaine étant éminement variable?
Je vais être plus clair.
Je souhaite utiliser la basique fonction tri d'excel sur une colonne de nombres. Le problème c'est  que ces chiffres peuvent parfois être suivis d'un index. Un exemple de liste serait : 1; 1a; 2; 21; 3b; 10; 15; 6.
Je ne souhaite pas utiliser le format Selection.NumberFormat = "0""mon index", c'est trop lourd pour l'utilisateur. L'index (a, b, ef, ...) peut prendre une infinité de valeurs et n'est pas toujours requis.
Je ne peux pas utiliser le format Selection.NumberFormat = "0;@", parceque la chaine est considérée comme du texte et j'ai pour ordre croissant 1;2;6;10;15;21;1a;3b au lieu de 1; 1a;2;3b;6;10;15;21.
Il me faudrait une "combinaison" miracle de ces deux formats.
Je crois peut être encore au père noël...

Merci d'avance.

4 réponses

fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
8 déc. 2007 à 11:22
Contouner le problème :
Il faudrait extraire dans une colonne caché la partie numérique de la colonne à trier ensuite trier sur cette nouvelle colonne masquée.
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
8 déc. 2007 à 15:59
"Je crois peut être encore au père noël..." : toi aussi !

Bon, je ne vois pas comment résoudre ton problème sans passer par un algo en VBA... La fonction VAL pour extraire que la partie numérique comme le propose fsltp.


Par exemple : Val("1a") retourne 1 comme d'ailleurs tout complément : Val("1qsdfqsd243234sdfqs") retourne 1... en fait le premier nombre rencontré à condition de commercer par un nb...

Ensuite, je pense qu'il faudrait extraire la partie restante (string) et la transformer en nb compris entre 0 et 1 (1 exclu) pour l'ajouter à la partie numérique... faire de même pour chaque donnée, afin de pouvoir trier en dernier, l'ensemble... LA transformation pourrait se baser sur la valeur ASCII...


Voilà, donc une idée à creuser...


Amicalement,


Us.


 
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
8 déc. 2007 à 18:22
Bonsoir,

Une question : les caractères alphapétiques sont-ils TOUS en minuscules (si oui, une solution peut poindre).

Tu dis
0
yapapeno Messages postés 8 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 9 février 2008
9 déc. 2007 à 14:25
Un grand merci pour ces premières réponses, je vais étudier ça.

Sinon, oui les lettres peuvent être qu'en miniscule, ça ne me dérange pas, avez vous une piste?

A bientôt
0
Rejoignez-nous