Sub TriTotalGénéral()
Dim PvT As PivotTable
Dim c As Range
Dim idx As Variant
With ThisWorkbook.Sheets("analyse des arrêts")
Set PvT = .PivotTables("Tableau croisé dynamique1")
'
' Trouver l'index de colonne de Total général
idx = Application.Match("Total général", PvT.ColumnRange.Rows(2), 0)
'
' Si trouvé
If Not IsError(idx) Then
'
' Récupérer la cellule correspondante
Set c = PvT.ColumnRange.Cells(idx)
'
' Puis trier avec comme clef la première cellule de valeur
PvT.DataBodyRange.Sort Key1:=c.Offset(2), Order1:=xlDescending, Type:=xlSortValues
End If
End With...