Tri excel alpha numérique type "1A10B" - "1A11B" - "1A1

Fermé
petite lulu - 27 oct. 2015 à 15:10
tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 - 28 oct. 2015 à 12:14
Bonjour à tous,

J'ai lu plusieurs topics sur le sujet, mais je n'ai rien trouvé dans les formules proposées qui puisse coller à ma problématique (ou alors, je n'ai simplement pas su appliquer les réponses)

J'ai un listing où les emplacements d'articles sont notés : 1A10B" - "1A11B" - "1A10C" - "1B01A"...

Excel me les trie, comme à son habitude, en fonction des chiffres. C'est à dire
1A10A
1A10B
1A10C...

Or j'aimerai le tri suivant :

1A10A
1A11A
1A12A...
1A01B
1A02B...

Quelle est la formule magique?

Merci infiniment pour votre aide.

Lulu

4 réponses

via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
27 oct. 2015 à 15:33
Bonjour

La formule magique n'existe pas il faut composer en fonction de chaque cas particulier
Dans ton cas est ce que les références sont toujours composées d' 1 chiffre, 1 lettre, 2 chiffres, 1 lettre ?
Dans ce cas ce sera facile

Cdlmnt
Via
0
petitelulu13 Messages postés 6 Date d'inscription mardi 27 octobre 2015 Statut Membre Dernière intervention 28 octobre 2015
27 oct. 2015 à 15:35
Bonjour Via,

Oui, tout à fait, c'est toujours le même schéma.
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703 > petitelulu13 Messages postés 6 Date d'inscription mardi 27 octobre 2015 Statut Membre Dernière intervention 28 octobre 2015
27 oct. 2015 à 15:43
Re,

Dans ce cas ajouter une colonne à côté de celle des références
En supposant la 1ere référence en A2, en B2 mettre la formule :
=CODE(DROITE(A2;1))-64&GAUCHE(A2;1) &STXT(A2;3;2)
qui convertit la dernière lettre en nombre (1 pour A, 2 pour B) et y concatène les 3 chiffres de la références
Ensuite selectionner toutes les colonnes à trier et faire faire le tri sur la 2eme colonne (que tu peux ensuite masquer ou effacer)

Cdlmnt
Via
0
petitelulu13 Messages postés 6 Date d'inscription mardi 27 octobre 2015 Statut Membre Dernière intervention 28 octobre 2015
27 oct. 2015 à 15:51
Merci beaucoup, cela a résolu une partie du problème : les deux derniers chiffres et la dernière lettre se trient correctement. Par contre pas la première lettre :

1A01A
1B02A
1B03A
1A01B
1B01B
1B01B
1B01B
1B01B
1B01B
1B02B
1B02B
1B03B
1B03B
1A04B
1A06B
1A06B
1A07B
1A09B
1A10B
1A12B
1A01C
1A01C
1B01C
1B01C
1B01C
1B01C

Il y a une modif à faire? Il faudrait avoir tous les "1A..." puis tous les "1B..." "1C...."
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703 > petitelulu13 Messages postés 6 Date d'inscription mardi 27 octobre 2015 Statut Membre Dernière intervention 28 octobre 2015
27 oct. 2015 à 16:00
Re,

Essaie :
=CODE(DROITE(A5;1))-64&GAUCHE(A5;1) &CODE(STXT(A5;2;1))-64 &STXT(A5;3;2)
0
nihcoc Messages postés 192 Date d'inscription dimanche 9 mars 2014 Statut Membre Dernière intervention 28 février 2023 5 > petitelulu13 Messages postés 6 Date d'inscription mardi 27 octobre 2015 Statut Membre Dernière intervention 28 octobre 2015
27 oct. 2015 à 16:12
Bonjour

Essaie le fichier ,c'est un peu lourd , mais ça marche.
tire les formules jusqu'a la dernière ligne et trie en col. G

EJBpkituIni_Class1.xls

A+
0
tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 1 054
27 oct. 2015 à 16:40
Bonjour,
En cas de difficulté on peut aussi découper en 4 colonnes avec Données Convertir Largeur fixe. Il suffit ensuite de choisir la bonne colonne pour chaque clé de tri.
0
petitelulu13 Messages postés 6 Date d'inscription mardi 27 octobre 2015 Statut Membre Dernière intervention 28 octobre 2015
27 oct. 2015 à 16:47
Bonjour,

Merci pour votre réponse, je vais tester aussi demain, voir quelle est la solution la plus adéquate :)
0
petitelulu13 Messages postés 6 Date d'inscription mardi 27 octobre 2015 Statut Membre Dernière intervention 28 octobre 2015
28 oct. 2015 à 08:44
Bonjour à tous et encore merci de m'avoir proposé des solutions hier.

La solution de tontong fonctionne bien, voici ce que j'obtiens, et cela correspond bien à l'ordre de l'emplacement physique :

1A1A
1A1B
1A4B
1A6B
1A6B
1A7B
1A9B
1A10B
1A12B
1A1C
1A1C
1A3C
1A4C
1A5C
1A5C
1A7C
1A8C
1A9C
....
....
1B3A
1B1B
1B1B
1B1B
1B1B
1B1B
1B2B
1B2B
1B3B
1B3B
1B1C
1B1C
1B1C
1B1C
1B1C
1B1C
1B1C

Le seul petit inconvénient : ça m'a supprimé le "0" qui est en 3ème position lorsque le chiffre du milieu n'est pas en dizaine ("1A01A"; "1A02A"...)
et c'est un poil plus long à mettre en place.

Avec la formule de Via55 j'obtiens :

1A01A
1B02A
1B03A
1A01B
1A04B
1A06B
1A06B
1A07B
1A09B
1A10B
1A12B
1B01B
1B01B
1B01B
1B01B
1B01B
1B02B
1B02B
1B03B
1B03B
1A01C
1A01C
1A03C
1A04C

Donc j'ai toujours le souci que la première lettre n'est pas classée. Cependant comme je n'ai pas compris comment fonctionne cette formule, je ne sais pas la modifier en conséquence.
j'aimerais bien arriver à ce que ça fonctionne avec la formule de Via55 car moins de colonnes, et moins long à mettre en place une fois que ça roule :)

Nihcoc, je ne sais pas comment ajouter ou télécharger un fichier... :)

Merci :)
0
tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 1 054
28 oct. 2015 à 12:14
Bonjour,
Lors d'une conversion le format par défaut est le format Standard. Dans ce format ce qui ressemble à nombre est interprété comme un nombre, et 01 s'écrit 1: Excel supprime le 0 qui ne sert à rien pour un nombre.
Un remède consiste à spécifier un format Texte pour cette colonne à l'étape 3/3 de la conversion.
Mieux: si les données sont en M 1: M .... spécifier $N$1 comme cellule de destination à l'étape 3/3. Sélectionner les colonnes de données + les colonnes auxiliaires N,O, P, Q avant d"effectuer le tri.
0
petitelulu13 Messages postés 6 Date d'inscription mardi 27 octobre 2015 Statut Membre Dernière intervention 28 octobre 2015
28 oct. 2015 à 09:12
Problème résolu avec cette formule : M étant la colonne dans la quelle se trouvent mes emplacements:

=STXT(M1;2;1)&STXT(M1;5;1)&STXT(M1;1;1)&STXT(M1;3;2)

puis tri.

merci à tous pour votre aide :)
0