TRI DANS EXCEL
Hors ligneBarnu Le 27/05/2011 à 00:59 Profil de Barnu Configuration de Barnu

Bonsoir à tous,

J'ai un soucis pour trier les le tableau suivant :

1  
23  
238  
7  
12222  

Je voudrais le trier comme en compta c.a.d. que je voudrais le résultat suivant :

 

1  
12222  
23  
238  
7  

J'ai essayé pluseurs méthodes mais je sêche !

Merci pour votre aide

 

Hors ligneAtex Le 27/05/2011 à 01:18 Profil de Atex Configuration de Atex

APVS

Salut,

 

Je ne suis pas spécialiste d'excel mais il semblerait que le truc soit de réussir à coller un "0," devant chaque nombre puis de les trier par ordre croissant.

 

Si c'est pas possible peut-être serait-il possible de:

 

-diviser les nombres de 1 à 9 par 10

-diviser les nombres de 10 à 99 par 100

-diviser les nombres de 100 à 999 par 1000

-diviser les nombres de 1000 à 9999 par 10000

-diviser les nombres de 10000 à 99999 par 100000

...

Puis de les trier par ordre croissant... 

Hors ligneTigene Le 27/05/2011 à 08:16 Profil de Tigene Configuration de Tigene

Viconaute Modérateur
--

Ce n'est pas parce qu'on a quelque chose à dire, qu'il faut forcément l'ouvrir

Hors ligneBarnu Le 27/05/2011 à 11:53 Profil de Barnu Configuration de Barnu

Tigene a écrit:

Salut les trinautes

voir ici : http://forum.excel-pratique.com/excel/tri-de-numero-de-compte-plan-comptable-t1920.html

@+

Merci pour la réponse mais je suis pas très chaud pour exécuter des macros sur ma machine. Par contre grace à ce lien j'ai trouvé une solution très simple !

Si ça peut aider les autres la voici :

Dans son message Messagede thibo » du 03 Juil 2007, 16:24 j'ai lu :

"Bonjour à tous,
Pour le fun, une solution avec une formule matricielle :
Les comptes (numériques) de A1 à A11 (ou plus)
en B1 :
=PETITE.VALEUR(($A$1:$A$11&REPT("0";8-NBCAR($A$1:$A$11)))*1;LIGNE())
à valider matriciellement (CTRL + MAJ + ENTREE) et à recopier vers le bas.
Adapter la plage de cellules au cas réel.
@+"

Grace à ça voicu ma solution miracle sans matrice ni macro :

Mettre les valeurs dans la colonne A et écrire en B :

=CONCATENER(A2;REPT("0";10-NBCAR($A2)))

Recopier dans la colonne B autant que nécessaire, sélectionner ces deux colonnes et appliquer le filtre autiomatique.

Il ne reste plus qu'a trier par ordre croissant sur la colonne B

Merci à tous et aux créateurs d'internet...

 

 

 

Hors ligneTigene Le 27/05/2011 à 13:10 Profil de Tigene Configuration de Tigene

Viconaute Modérateur

Bravo

heureux que ce lien, t'aie apporté la solution

--

Ce n'est pas parce qu'on a quelque chose à dire, qu'il faut forcément l'ouvrir

Hors ligneAtex Le 27/05/2011 à 22:28 Profil de Atex Configuration de Atex

APVS

Vraiment, n'est-il pas plus simple et plus propre de rajouter un "0," devant chaque nombre avant de les classer par ordre croissant plutôt que de rajouter X fois des "0" derrière le nombre?

 

Colonne A = Les nombres

Colonne B =CONCATENER("0,";A1)

 

Je n'ai pas fait beaucoup de programmation dans ma vie mais il semble évident qu'il est plus rapide de passer par l'hypoténus plutôt que de se taper l'adjacent et l'opposé.

 

Une seule fonction "Concatener" est certainement plus rapide à executer que trois fonctions "Concatener, Rept et Nbcar" réunis... En plus REPT est une boucle...

 

En bref:

 

Tu crées une chaine de caractères composée du contenu de A1 auquel tu ajoutes  "10 - le nombre de caractère de A1" fois un "0".

Je crée une chaine de caractère composée de "0," et de A1. --> Point barre...  c'est terminé, y a plus rien a voir !

 

Lequel est le plus simple et le plus rapide ?

 

Par ailleurs ta solution ne marches plus si quelqu'un venait à saisir des nombres de plus de 10 chiffres, la mienne ne pose aucun souci à ce niveau là.

 

 

 

Hors ligneBarnu Le 27/05/2011 à 23:10 Profil de Barnu Configuration de Barnu

Désolé Atex, mais ta solution ne fonctionne pas. En effet en reprennant mon exemple de départ voila le résultat du tri : 1 01 7 07 23 023 238 0238 12222 012222 Or ce n'est pas ou je veux arriver. Merci pour les recherches tout de même. PS dans ma solution pour ce qui est de trier des nombre de plus de 10 chiffres, il sufit de modifier REPT("0";8 et le remplacer par REPT("0";25 par exemple...
Hors ligneAtex Le 28/05/2011 à 00:47 Profil de Atex Configuration de Atex

APVS

N'aurais tu pas oublié la virgule après le 0 ? Il faut ajouter "0," et non "0"

 

Je te mets quelques screenshoot pour que tu vois comment je procède:

 

Colonne A: Une série de chiffres non triés

B1: =CONCATENER("0,";A1)

B2: =CONCATENER("0,";A2)

B3: =CONCATENER("0,";A3) 

...Etc...

 

 

Je sélectionne le tout, clic droit ---> Trier ---> Tri personalisé:

 

 

 

 

Je trie sur valeur de A à Z par la colone B

 

 

 

Je valide la question:

 

 

 

Et voilà une (colone A) bien triée....

 

 

Pour éviter la question de la 4ème image, on remplacera =CONCATENER("0,";A1))

par =CNUM(CONCATENER("0,";A1))

 

Après, ça ne doit pas être trop compliqué de rendre le tri automatique...

 

 

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels