Tri alphanumérique

Signaler
Messages postés
8
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
9 février 2008
-
Messages postés
8
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
9 février 2008
-
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

Messages postés
94
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
16 janvier 2008

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.
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
"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.


 
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonsoir,

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

Tu dis
Messages postés
8
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
9 février 2008

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