Trier plusieurs colonnes

Bonjour,

Je viens vers vous car après 8h de recherche je n'y arrive pas du tout.

Je cherche à trier sur l'onglet "3" de mon fichier Excel (joint à ce post) les lignes selon la colonne "B" à partir de la cellule B7.

Afin de ne pas trop me compliquer la vie sur la fonction de tri, j'ai fait en sorte que lorsque des valeurs seront rentrées dans les cases blanches (via une autre macro), les 3 noires en-dessous soient remplies automatiquement avec le même contenu mais avec des chiffres en plus.

Je souhaiterais que lorsque je clique sur le bouton bleu "TRI", la colonne B soit triée par ordre alphabétique et que les lignes suivent de même.

Voici la macro que j'ai tenté de mettre au point :

Sub Tri_Test()
Worksheets("3").Select
    Range("B7").Select
        m = 6
        Do While ActiveCell.Offset <> ""
            ActiveCell.Offset(1, 0).Select
            m = m + 1
        Loop
        Range("B7", "Q" & m).Select
        With ActiveWorkbook.ActiveWhorksheets("3").Sort
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
End Sub

Quelqu'un peut-il me dépanner s'il vous plaît ? (j'ai déjà repéré des prix de cordes et de tabourets)

Merci d'avance.

5tri-onglet-3.xlsm (679.74 Ko)

Bonjour,

Remplace ta macro et test

Sub Tri_Test()
Worksheets("3").Select
    Range("B7").Select
        m = 6
        Do While ActiveCell.Offset <> ""
            ActiveCell.Offset(1, 0).Select
            m = m + 1
        Loop
        Range("B7", "Q" & m).Select
        'il te manquait les 2 lignes suivantes
        ActiveWorkbook.Worksheets("3").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("3").Sort.SortFields.Add Key:=Range("B7:B277"), _
                SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            With ActiveWorkbook.Worksheets("3").Sort
                .SetRange Range("A7:EV277")
                .Header = xlGuess
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
            End With
End Sub

Cordialement,

Bonjour,

Remplace ta macro et test

Sub Tri_Test()
Worksheets("3").Select
    Range("B7").Select
        m = 6
        Do While ActiveCell.Offset <> ""
            ActiveCell.Offset(1, 0).Select
            m = m + 1
        Loop
        Range("B7", "Q" & m).Select
        'il te manquait les 2 lignes suivantes
        ActiveWorkbook.Worksheets("3").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("3").Sort.SortFields.Add Key:=Range("B7:B277"), _
                SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            With ActiveWorkbook.Worksheets("3").Sort
                .SetRange Range("A7:EV277")
                .Header = xlGuess
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
            End With
End Sub

Cordialement,

Toi je t'aime.

Merci beaucoup

Rechercher des sujets similaires à "trier colonnes"