Classement alphabetique sur plusieurs plages

salut a tous

je n arrive pas a associer c 2 codes pour avoir un tri alphabétique global des colonnes "E" et "I"

ex: si je met col ("E" zz) et col ("I" aa) après le classement je doit avoir col ("E" aa) et col ("I"zz)

ci-joint les 2 codes

       'Tri de la colonne E
    ActiveWorkbook.Worksheets("List").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("List").Sort.SortFields.Add Key:=Range("e2"), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("List").Sort
            .SetRange Range("e2:e13")
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With

    'Tri de la colonne I
    ActiveWorkbook.Worksheets("List").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("List").Sort.SortFields.Add Key:=Range("i2"), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("List").Sort
            .SetRange Range("i2:i4")
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With

merci

et rajouter de k a t

alphabetique sur la ligne cette fois gauche a droite

k1:k3 jusqu a t1:t3

re merci

Bonjour,

tu tries sur E2:E13 et puis I2:I4 , pas normal , ton tri doit se faire sur l'ensemble E2:13 par exemple si ta ligne 13 est la dernière

[A2:E13].Sort Key1:=[E2], Order1:=xlAscending, Key2:=[I2], Order2:=xlAscending, Header:=xlGuess fonctionne mais tu pouvais aussi déposer un fichier exemple

P.

Salut,

Pour ton problème du premier message c'est le .

SetRange Range("i2:i4") 

qui dois gêner car la tu le fais que sur 2 lignes. Soit tu calcules le max de lignes de ton fichier et tu passes cette variable dans ta macro soit tu fais un tri jusqu’au fond d’excel (ou genre ligne 1 millions car tu sais que tu iras jamais jusque la) mais je ne sais pas en terme de performances ce que ça donne

ECG

patrick1957

si tu regardes mes codes les 2 marches comme il faut séparément, mais maintenant g besoin de les associer ensemble

+ une ligne qui classe des colonnes

j ai donc réussi a faire 3 fonctions séparées sur un même bouton qui exécute les 3 d un coup c déjà pas mal

mais je bloque au niveau des 2 colonnes j arrive pas les trier comme une seule liste

chez pas si tu vas tout comprendre mais j ai la tète qui fume la !!!

@+

relis mon message...

un fichier exemple avec données bidon mais structure identique

P.

salut ExcelCoreGame

ça serais quoi le code alors sachant que en dessous la ligne 15 j ai d autres écritures ça va pas faire un bazar ???

merci

Difficile à voir d'ici ...

Si tu as un tableau, il ne faut rien mettre en dessous sans avoir au préalable laissé des lignes vides pour que le tri ne se fassent pas jusqu'à ces données en bas...

P.

patrick1957

voila un fichier sans codes !!!

ci-joint classeur "tri"

9tri.xlsm (9.27 Ko)

Ceci fonctionne (sur MAC), mon PC étant fermé

Sub Trier()
       'Tri de la colonne E
    ActiveWorkbook.Worksheets("List").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("List").Sort.SortFields.Add Key:=Range("e2"), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("List").Sort
            .SetRange [fers]
            .Apply
        End With

    'Tri de la colonne I
    ActiveWorkbook.Worksheets("List").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("List").Sort.SortFields.Add Key:=Range("i2"), _
          SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("List").Sort
            .SetRange [fers2]
            .Apply
        End With
End Sub

P.

dsl marche pas chez moi debogue

"ActiveWorkbook.Worksheets("List").Sort.SortFields.Clear"

l indice n appartient pas a la sélection

salut patrick1957

pas les yeux en face des trous hier soir, donc après modif de ton code ça marche mais rien a voir avec mon modele

le tri et juste par plage séparer pas globale

les 3 carres reste dans la même colonne (trier) mais 1 seul devrait ce trouver la .

rien pour la ligne.

merci

re,

je n'ai pas compris ta réponse

le tri ici se fait sur FERS (colonne E") en ordre croissant et puis en ordre croissant sur la zone FERS2 , ce n'est pas ça que tu demandais ?

Je n'ai pas regardé au tri de la ligne 2 sous le mot "ALU"

P.

patrick1957

regarde bien mon fichier tu as "avant" le tri et "après" le tri en image

aprés le tri tu vois bien que les 2 colonnes "fers" et "fers 2" sont trier comme une seule colonne

@+

Bon,

je laisse à des plus futés que moi de t'aider à résoudre ton fichier qui n'est pas clair (enfin le but ne l'est pas pour moi

Si tu dois déplacer du point A au point B et puis trier, je comprends, mais là non, sorry

P.

patrick1957

ok

merci a toi

voila une image réactualiser

après le tri la cellule I19 correspond bien a la suite de la cellule E31

tri

et le fichier sans code

8tri.xlsm (12.91 Ko)

merci

Rechercher des sujets similaires à "classement alphabetique plages"