Tri croissant de chiffres au format texte

  • Initiateur de la discussion Tchupacabra
  • Date de début
T

Tchupacabra

Guest
Bonjour à tous,

J'ai une colonne de chiffres au format texte que je voudrais trier caractère par caractère (de gauche à droite). Malheureusement, le tri croissant ne marche pas.

J'ai :
[ol]627
754
756
764
62
767
778
6063
6021
6068
[/ol]
et je voudrais :
[ol]
6021
6063
6068
62
627
754
756
764
767
778
[/ol]

Alors si vous savez comment faire, si vous commaissez la manip ou mieux encore si vous avez une p'tite macro sous le coude.... :whistle: :)

merci d'avance

@+

;)
 

porcinet82

XLDnaute Barbatruc
salut

quelques indications pour ton pb. il faut que tu fasse une macro qui test le premier chiffre de chaque cellule, et que tu effectue un classement sur ce premier chiffre.

ensuite tu effectue un tri sur le second et tu refais un classement, et ainsi de suite.

a+
 

andré

XLDnaute Barbatruc
Salut,

Sur XL2003 c'est possible.
Je ne me souviens pas avoir vu cette option sur les vesrions précédentes (à confirmer par les antiquaires - lol).

Lorsqu'on trie (menu Données / Trier) une colonne en format texte, après avoir choisi l'odre et la colonne, XL ouvre une boite de dialogue dans laquelle il y a deux choix.
En choissisant celui du dessous 'trier séparement ... ', le tri s'opère comme tu le souhaites.

Ândré.
 
T

Tchupacabra

Guest
Salut, j'ai effectivement Excel2003 mais le classeur est destiné à d'autre Pc qui n'ont pas forcément 2003....

Sinon, j'ai essayé :
Données>Trier>Trier séparément les nombres et les nombres stockées en tant que texte.
Mais rien n'y fait ma colonne n'est pas triée comme je veux... :unsure:
 

andré

XLDnaute Barbatruc
Resalut,

Chez moi, cela avait l'air de marcher, mais tu as probablemnt raison.

J'ai trouvé une méthode qui fonctionne.
Si tu mets un . (point) entre le 2ième et le 3ième caractère (pour ton exemple), tout en laissant la colonne en format texte, puis que tu tries, tu obtiens le bon résultat.
Pour faire cela sans colonne supplémentaire, à première vue, je ne vois pas.

En son temps, Monique avait donné une formule (aussi avec une colonne supplémentaire) qui permettait de trier des données alphabétiques, mais, très étonnant, en remplaçant les textes par des nombres en format texte, cela ne fonctionne plus.
Un peu de patience, comme j'ai écrit son nom, elle ne tardera pas !

Petit détail, tu devrais préciser s'il faut tenir vcompte d'éventuels doublons, en les ignorant ou en les supprimant.

De mon côté je continue à y refléchir.

Ândré.
 

dg62

XLDnaute Barbatruc
Bonjour tout le monde



en ajoutant une colonne sup avec la formule suivante

en A1... données à classer

=SI(NBCAR(A1)=1;A1*10000;SI(NBCAR(A1)=2;A1*1000;SI(NBCAR(A1)=3;A1*100;A1*10)))


ensuite faire un tri sur cette colonne en étendant la sélection.

la colonne sup peut être cachée
 

andré

XLDnaute Barbatruc
Salut dg62,

Tu peux raccourcir cette méthode par une formule du type :

=A1&REPT(0;6-nbcar(A1))

6 (ou un autre chiffre) étant le nombre maximum de caractères pouvant être rencontrés dans la chaine.

Mais c'est toujours la colonne supplémentaire !

Ândré.
 

Ti_

Nous a quitté
Repose en paix
Voici une solution extrapolée de mes démos de tris automatiques sans macros [file name=Tritextuel.zip size=6825]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Tritextuel.zip[/file]
 

Pièces jointes

  • Tritextuel.zip
    6.7 KB · Affichages: 14

Ti_

Nous a quitté
Repose en paix
bon, apparamment, on ne peut pas éditer un fichier joint, alors je le remets à peine modifié (j'étais allé à peine vite à midi) [file name=Tritextuel_20050325155625.zip size=6796]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Tritextuel_20050325155625.zip[/file]
 

Pièces jointes

  • Tritextuel_20050325155625.zip
    6.6 KB · Affichages: 13
T

Tchupacabra

Guest
Merci à tous pour tous vos messages .... :woohoo:
[ol]
' convertion des nombres en texte
last_row = Range('A65536').End(xlUp).Row
For ligne = 3 To last_row
Cells(ligne, 1) = ''' & Cells(ligne, 1).Value
Next ligne
[/ol]

tout simplement !!!!
après le tri se fait normalement.... :lol:

@+
 

Statistiques des forums

Discussions
312 980
Messages
2 094 128
Membres
105 941
dernier inscrit
antho_qh