1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| Sub TrierCatEtType()
Dim ws As Worksheet
Dim lastRow As Long
Dim sortRange As Range
Set ws = ThisWorkbook.Worksheets("BDCAT")
' Trouver la dernière ligne avec des données dans la colonne A
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' Définir la plage à trier (colonnes A et B)
Set sortRange = ws.Range("A2:B" & lastRow)
' Trier d'abord par les catégories (colonne A) puis par les produits (colonne B)
With ws.Sort
.SortFields.Clear
.SortFields.Add2 Key:=sortRange.Columns(1), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SortFields.Add2 Key:=sortRange.Columns(2), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange sortRange
.Header = xlYes ' Si la première ligne contient des en-têtes
.MatchCase = False
.Orientation = xlTopToBottom
.Apply
End With
End Sub |
Partager