Trier sous excel

Résolu
lamusaraigne Messages postés 15 Statut Membre -  
lamusaraigne Messages postés 15 Statut Membre -
Bonjour,
Je souhaiterais faire un tri de nombres par ordre croissant sous excel. Mais ligne par ligne.
Par exemple si j'ai deux lignes L1: 3 5 2 1 9 8
et L2: 12 8 3 4 6 2
Je voudrais obtenir L1: 1 2 3 5 8 9
et L2: 2 3 4 6 8 12
J'ai bien trouvé comment trier en faisant ligne par ligne,mais vu que mon tableau comporte 36000 j'aimerais trouver quelque chose de plus rapide.
Par contre j'ai regarder les réponses y'a souvent de la programmation,ça ne me fait pas peur parce que les langages se ressemblent un peu toujours, mais sous excel je ne sais absolument pas ce qu'il faut faire, ni comment ça marche.
Merci d avance pour les réponses
A voir également:

7 réponses

lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
une piste..
Dim i as long, e as long, B as Boolean
Dim Swap as variant
For i = 1 To DernièreLigneAtester
Reco:
for e = 1 to derniereColonneAtester-1
if cells(i,e) > cells(i,e+1) then
Swap=cells( i, e) : cells( i, e) = cells( i, e + 1) : cells( i, e + 1) = Swap
B = True
end if
next e
if B then B=False : goto Reco
Next i
Essaye ca (pas tester) mais le principe est bon..
A+
0
lamusaraigne Messages postés 15 Statut Membre
 
Merci pour l'info, mais juste le détail pratique qui tue: Tu le tapes ou ce programme??????
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Wooouuuuah, je ,pensais pas que tu débutait en VBA
Donc je reprend
Dans Excel tu tape Alt+F11
sur la gauche de l'IDE (éditeur de code ou de macro) tu a l'explorateur de projet.
>> Insertion >> Module
dans la feuille qui vient de s'ouvrir tu fais copier/Coller du code ci-dessous

Sub Trie()
Dim i As Long, e As Long, B As Boolean
Dim Swap As Variant
    For i = 1 To 5 'Mettre le nombre de ligne à tester
Reco:
        For e = 1 To 4 - 1 'mettre le nombre de colonnes à tester
            If Cells(i, e) > Cells(i, e + 1) Then
            Swap = Cells(i, e): Cells(i, e) = Cells(i, e + 1): Cells(i, e + 1) = Swap
            B = True
            End If
        Next e
        If B Then B = False: GoTo Reco
    Next i
End Sub


Pour le test j'ai mis des nombres dans le désordre dans les cellules de A1 à D5
et voila le résultat.

1	2	6	7
4	8	12	23
4	5	6	8
1	2	5	8
4	9	12	45

Bon, pour activer, tu met des séries dans le désordre comme tu veux dans ces cellules...
Tu retourne dans 'IDE
Tu met le curseur au milieu de la sub et tu tape F5
J'espère avoir été asser explicit !
A+
0
lamusaraigne Messages postés 15 Statut Membre
 
rebonjour, j'espère qu'il y a encore du monde....
bon je suis vraiment pour le VBA effectivement je connais la programmation mais j'ai jamais travailler avec ça.
Donc j'ai bien réussi a rentrer le module (tu as té parfaitement explicite!!) mais pour l'appliquer je fais quoi, j'ai essayé de sélectionner des lignes a trier et pis je suis retournée dans le alt F11, j'ai cliqué sur module 1 et quand je fais F5 il m'ouvre une fenêtre je mets exécuter,mais y s'est rien passé dans mon tableau.....Donc en fait j'ai pas exactement compris les deux dernières lignes d'explications.
Mais merci tout plein
A+
0
lamusaraigne Messages postés 15 Statut Membre
 
ah désole en fait le programme il fait bien quelque chose mais pas vraiment ce que je veux:
je lu rentre et je sélectionne les deux lignes
1 3 6 12 13 15 17 2
10 13 15 11 19 12 9 14
et il me rend
6 1 3 15 12 13 17 2
15 10 13 11 19 12 9 14
OUPS!
ET pis il a pas l'air de marcher a chaque fois.....
j'ai bien modifier nombres de ligne et colonnes dans le programme
Merci merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
En fait le programme y fait exactement ce que tu veux, je sais pas ce que tu à fait...
Pour exemple charge le fichier sur Ce fichier
Pour le charger tu le SauveSous sur ton DD
Tu clic sur le bouton et...
A+
0
lamusaraigne Messages postés 15 Statut Membre
 
super!!!!!!!
mille merci pour le lien et pour ton boulot.
Bonne soiree
0
lamusaraigne Messages postés 15 Statut Membre
 
probleme resolu
0