Rechercher : dans
Par :

Trier par ordre croissant des numeros

Dernière réponse le 23 mai 2008 à 11:54:00 P.O., le 21 mai 2008 à 13:32:04 
 Signaler ce message aux modérateurs

Bonjour,
je vous écris pour obtenir de l'aide sur excel 2003.

Voila je dois classer par ordre croissant dans un tableau des numeros du type lettres-chiffres-chiffres-chiffres
sachant que les lettres soit c 'est F soit c'est EU

merci de bien vouloir m'aider par avance.

Cordialment Pierre-olivier

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « trier par ordre croissant des numeros » dans :
SQL - Tri VoirTri des résultats Il est possible en SQL d'organiser les résultats grâce à la clause ORDER BY. La clause ORDER BY est suivie des mots clés ASC ou DESC, qui précisent respectivement si le tri se fait de manière croissante (par défaut) ou...
Systèmes UNIX - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire entre le système...

1

lermite222, le 21 mai 2008 à 13:36:21

Bonjour,
donne un exemple, comme ca c'est pas fort concret.
A+ L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

3

P.O., le 21 mai 2008 à 13:40:12

Exemple F-1998-124-045 ou EU-2005-256-125 ou F-1995-156 voila

merci pour ton aide

Répondre à P.O.

4

lermite222, le 21 mai 2008 à 13:49:07
  • +1

Et sur lequel des nombres le tri ? L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

2

onesdf, le 21 mai 2008 à 13:37:17

Insérer une colonne avec comme formule "=DROITE(A1;3)" et trier sur cette colonne

Répondre à onesdf

5

lermite222, le 21 mai 2008 à 13:56:22

Ta solution donne les 3 derniers caractères, je crois pas que c'est ce qui est demandé. L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

6

onesdf, le 21 mai 2008 à 13:58:11

Je sais bien, mais dans son premier exemple il disait "Lettre-Chiffre-Chiffre-Chiffre" d'où ma gourance

Répondre à onesdf

7

lermite222, le 21 mai 2008 à 14:02:01

:-D L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

8

P.O., le 21 mai 2008 à 14:24:22

Il faut trier d'abord par le premier chiffre ensuite par le deuxieme et enfin par le dernier

merci encore

Répondre à P.O.

11

onesdf, le 21 mai 2008 à 15:56:50

Créer une copie de la colonne à trier, puis "éclater" la colonne dupliquée par Données / Convertir (Délimité avec comme séparateur le trait d'union).
Trier les données et supprimer les colonnes rajoutées.

Répondre à onesdf

9

lermite222, le 21 mai 2008 à 15:12:38

Une solution..

'supposons les données dans colonne A
'et les résultats intermédiaire dans les colonnes suivantes
''supposons les données dans colonne A
'F-1998-124-045 ou EU-2005-256-125 ou F-1995-156

Sub Trie3()
Dim i As Long, e As Long, y As Integer
Dim T
    Sheets("Feuil1").Select
    'Sépare d'abord tout..
    e = Range("A1").SpecialCells(xlCellTypeLastCell).Row
    For i = 1 To e
        T = Split(Cells(i, 1), "-", -1)
        For y = 0 To UBound(T)
            Cells(i, y + 2) = T(y)
        Next y
    Next i
    'trie la colonne des date.. suite... Suite
    Range("A1:E" & e).Select
    Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, Key2:=Range("D1") _
        , Order2:=xlAscending, Key3:=Range("E1"), Order3:=xlAscending, Header:= _
        xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

End Sub


Peut éventuellement ajouter une commande pour effacer les colonne C,D,E
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)  

Répondre à lermite222

10

Vaucluse, le 21 mai 2008 à 15:26:18

Bonjour
Essayez de créer une colonne de renvoi pour le tri qui supprime les lettres du début, soit la formule, si votre code est en A1:
=STXT(A1;3;12) ....ou + de 12 si vous riqsuez d'avoir plus de 12 caractére derrière le code lettre.
Cette formule vous renvoi les codes nombres et devrait permettre ce que vous souhaitez, soit un tri croissant dans l'ordre des chiffres, groupe après groupe
CRDLMNT La vérité ne se possède pas, elle se cherche seulement

Répondre à Vaucluse

12

P.O., le 21 mai 2008 à 16:40:32

Lermite222 merci beaucoup j'ai essayé ton programme sous VB ça marche super bien le seul probleme c'est que j'ai des informations dans les autres colonnes qui correspondend au numero malheureusement elle ne suive pas le numero
En tout cas merci beaucoup pour vos réponse sa m'aide beaucoup

Répondre à P.O.

13

lermite222, le 21 mai 2008 à 17:04:43

Splique un peu mieux, surement moyen d'y remédier. L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

14

P.O., le 21 mai 2008 à 19:25:50

En faite j'ai un tableau avec les numeros en colonne A et ensuite j'ai des informations qui correspondent à ces numero sur les colonnes qui suivent. comment dire ça chaque ligne correspond à un numero et ces informations.
Et aussi comment tu fais pour cacher les colonnes intermédiaire qui se creer avec l'application du programme VB que tu m'a fournie.

Merci encore beaucoup de ton aide

Répondre à P.O.

15

lermite222, le 21 mai 2008 à 19:59:16

Compris
Dit-moi quel est la dernière colonne que tu emploi sur ta feuille, je modifierais en ce sens L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

16

eriiic, le 21 mai 2008 à 21:17:43

Bonsoir lermite22,

sinon tu peux insérer 3 colonnes et les supprimer ensuite.
Tant qu'il n'utilises pas plus de 253 colonnes...

eric

Répondre à eriiic

17

lermite222, le 22 mai 2008 à 05:58:00

Je crois pas que ca irai, il veux que les autres données soient également déplacée, donc il faut modifié la largeur de la sélection.
A+ L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

18

lermite222, le 22 mai 2008 à 06:12:55

La voila rectifiée, elle déplace toute la ligne.

'supposons les données dans colonne A
'et les résultats intermédiaire dans les colonnes suivantes
''supposons les données dans colonne A
'F-1998-124-045 ou EU-2005-256-125 ou F-1995-156

Sub Trie3()
Dim i As Long, e As Long, y As Integer
Dim T
    Sheets("Feuil1").Select
    'Sépare d'abord tout..
    e = Range("A1").SpecialCells(xlCellTypeLastCell).Row
    For i = 1 To e
        T = Split(Cells(i, 1), "-", -1)
        For y = 0 To UBound(T)
            Cells(i, y + 250) = T(y)
        Next y
    Next i
    
    'trie la colonne des date.. suite... Suite
    Range("A1:IS" & e).Select
    Selection.Sort Key1:=Range("IQ1"), Order1:=xlAscending, Key2:=Range("IR1") _
        , Order2:=xlAscending, Key3:=Range("IS1"), Order3:=xlAscending, Header:= _
        xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    
    'Efface les données intermédiaires
    Range("IP1:IS" & e).Select
    Selection.ClearContents
    Range("A1").Select

End Sub

En principe ce devrait être bon.
A+ L'expérience instruit plus sûrement que le conseil. (André Gide)  

Répondre à lermite222

19

P.O., le 22 mai 2008 à 09:21:55

Salut,
DSl de repondre que maintenant j'ai essayé le dernier programme que tu m'as envoyé et malheureusement il m'indique erreur 1004 lorsque je le lance.
ma derniére colonne est la colonne H et je commence à partir de la ligne 13
merci

Répondre à P.O.

20

P.O., le 22 mai 2008 à 09:27:31

Escuse moi ma derniére colonne du tableau est la colonne X
voila merci encore

Répondre à P.O.

21

lermite222, le 22 mai 2008 à 10:33:50

1004 erreur définie par l'application.
Sur quel ligne cette erreur (la ligne en jaune quand ca plante)
Y a-t-il des lignes vides ou qui n'ont pas cette forme ?
Commencer a la ligne 13 c'est pas dificile suffit de mettre For i =13 to... L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

22

P.O., le 22 mai 2008 à 10:58:24

J'ai pas de ligne en jaune qui apparait

Répondre à P.O.

23

lermite222, le 22 mai 2008 à 11:10:01

Quand tu a la fenêtre avec l'erreur il y a 3 boutons, faut clic sur le bouton du milieu (trou mémoire) quelque chose comme Debugger. Tu va alors entrer dans l'IDE et voir la ligne jaune L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

24

P.O., le 22 mai 2008 à 11:52:39

J'ai que 2 boutons qui apparaissent oui ou aide et dans aide rien de trés compréhensible pour moi DSL je suis nul en informatique le truc c'est que l'ancien fichier marche super bien sauf qu'il considére pas le reste de mes colonnes. Erreur indique que ça peut venir aussi bien du programme que de mon tableur est ce que tu penses que ça peut venir du fait que j'ai des cases fusionnées???

Répondre à P.O.

25

onesdf, le 22 mai 2008 à 11:54:39

As-tu essayé la proposition que je t'ai donné en réponse 11 ?

Répondre à onesdf

26

P.O., le 22 mai 2008 à 12:15:55

Le probleme venait bien des cellules fusionnées c'est bon ça marche maintenant merci beaucoup pour ton aide précieuse tu m'as évité de tout trier à la main ce qui m'aurait pris des heures

merci beaucoup encore une fois bonne fin de journée

Répondre à P.O.

27

P.O., le 22 mai 2008 à 15:52:48

SALUT escuse moi de te déranger encore une fois mais je suis une vrai bréle je n'arrive pas à faire fonctionner le programme dans le cas ou les numeros sont à la colonne E et commence à partir de la ligne 13 et qu'il ne commence pas par une lettre mais directement par un chiffre ex: 2008-254-569, 96-257-596, 99-548-623

Répondre à P.O.

28

lermite222, le 22 mai 2008 à 19:49:26

Sub Trie3()
Dim i As Long, e As Long, y As Integer
Dim T
    Sheets("Feuil1").Select
    'Sépare d'abord tout..
'Trouve la dernière cellule de la colonne A1, si Autre cellule changer par exemple Par E1
    e = Range("A1").SpecialCells(xlCellTypeLastCell).Row
'Commence à la ligne 1 jusque la dernière cellule si ligne 13 remplacer 1 par 13
'(Cells(i, 1)  >> i c'est la ligne et 1 c'est la colonne, si colonne E remplacer 1 par 5
    For i = 1 To e
'Split tu sélectionne le mot et tu tape F1, ce serra plus explicite que ce que je pourrais te dire en quelques lignes.
'Mais en gros, T devient un tableau avec chaque donnée séparée, T(0)=F T(1).. La suite
        T = Split(Cells(i, 1), "-", -1)
        For y = 0 To UBound(T)
            Cells(i, y + 250) = T(y)
        Next y
    Next i
    
    'trie la colonne des data.. suite... Suite
    Range("A1:IS" & e).Select  'ICI rien changer, c'est bon

'Trie avec les critères de la colonne  IQ1, ensuite IR1, ensuite IS1 
'si tu n'a plus de lettre F ou EU devant if faut tout reculer d'une colonne, soit IP1, IQ1, IR1
    Selection.Sort Key1:=Range("IQ1"), Order1:=xlAscending, Key2:=Range("IR1") _
        , Order2:=xlAscending, Key3:=Range("IS1"), Order3:=xlAscending, Header:= _
        xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    
    'Efface les données intermédiaires
    Range("IP1:IS" & e).Select
    Selection.ClearContents
    Range("A1").Select

End Sub


Poure savoir comment ca fonctionne, mettre le curseur dans la macro et taper F8, ensuite, chaque fois que tu tape F8 l'instruction suivante est calculée, pour connaitre la valeur qu'il y a dans une variable tu promène ta souris dessus tu arras une bulle avec ce qui est dedans.
A+ L'expérience instruit plus sûrement que le conseil. (André Gide)  

Répondre à lermite222

29

 P.O., le 23 mai 2008 à 11:54:00

Merci beaucoup pour toutes tes explications ça marche nickel
merci, merci beaucoup encore une fois
bonne journée à toi

Répondre à P.O.