Ranger des chaînes de caractères

Fermé
roulio01 Messages postés 166 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 9 novembre 2016 - 9 nov. 2016 à 19:26
Raymond PENTIER Messages postés 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 10 nov. 2016 à 15:19
Bonjour,

J'ai rangé par ordre croissant dans une colonne ces caractères. Et voilà le résultat que j'ai quand je fais un tri de A-Z.
P1
P10
P11
P12
P13
P2
P3
P4
P5
P6
P7
P8
P9

Pourriez-vous m'aider à avoir cet ordre ?
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
P13

Merci de votre aide.

3 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
9 nov. 2016 à 19:45
Bonjour,

Ajoutes une colonne en B1 :
=STXT(A1;2;9)+0
1
ViriisXP Messages postés 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 40
9 nov. 2016 à 19:47
bonjour, le tri alphabétique est assez simple :
il prend en compte l'ordre alphabétique caractère par caractère
c'est à dire que votre tableau va classé en premier votre lettre :
ici : "p"
et ensuite va chercher le second caractère a savoir : "1" et quand il va arrivé sur "P2" il interpretera ton p2 comme étant plus grand que P10 et donc le classera aprés.

il vous faut saisir votre P1,P2,P3 ect en P01,P02,P03, ect...
1
Raymond PENTIER Messages postés 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 17 096
10 nov. 2016 à 04:26
Salut, roulio01.

Tu as une colonne de données au format TEXTE, et pourtant tu désires un classement NUMÉRIQUE ! Ce n'est pas logique, ViriisXP t'a dit pourquoi ...
Mais les solutions proposées te sortiront d'affaire, l'une comme l'autre.
Il y a une troisième possibilité, proche de celle de Patrice :
en B1 saisir la formule =CNUM(STXT(A1;2;9))
1
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
10 nov. 2016 à 12:29
Bonjour Raymond,

C'est effectivement la bonne syntaxe.

Quand, par économie de saisie, j'utilise +0 ou *1 à la place du CNUM(), je bénéficie des largesse d'interprétation d' Excel : en toute rigueur il devrait renvoyer une erreur de type #VALEUR!

Cordialement
Patrice
0
Raymond PENTIER Messages postés 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 17 096 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
10 nov. 2016 à 15:19
Oui, Patrice.
Tu as raison d'apporter cette précision à notre ami rouli01.

Je n'ai d'ailleurs proposé une troisième formule que pour lui montrer qu'il y a souvent plusieurs manières de solutionner un même problème, avec Excel, et lui faire peut-être découvrir la fonction CNUM ...

Je te souhaite une bonne journée.
0