bonjour,
C'était une réponse dans l'inconnue sur un question dans l'inconnu et ma réponse est pour 95% egale au suivant. La seule différence, il s'agit ici d'une plage au lieu d'un tableau. (A mon avis, ma réponse était plus à point que le votre)
Un point important, supposons que la plage ne commence pas à la premiere colonne, par exemplee AA3 au lieu de A3, ce .range("C1") reste le même pour indiquer que c'est la 3ième colonne (relatif) dans cette plage
Avec Currentregion, la 2ième ligne doit rester vide !!! Au lieu de cela, vous pouvez aussi utiliser With Sheets("trier").Range("A3:C40")
Avec cette méthode à l'ancienne, on n'a que 2 clefs pour sorter
Sub TriCaDec()
'
' TriCaDec Macro
'
'à l'ancienne
With Sheets("trier").Range("A3").CurrentRegion 'la plage autour A3
.Sort .Range("C1"), xlDescending, Header:=True 'dans cette plage sort la 3ième colonne de grand à petit avec des entêtes
End With
Exit Sub 'arreter ici
Range("A3").Select
ActiveWorkbook.Worksheets("TRIER").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("TRIER").Sort.SortFields.Add Key:=Range("C4:C40"), _
SortOn:=xlSortOnValues, Order:=xlDescending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("TRIER").Sort
.SetRange Range("A3:C40")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub