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.
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