Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Classement selon plusieurs critères

Hulk

XLDnaute Barbatruc
Bonsoir à tous

Comme le titre l'indique, je souhaiterais classer des joueurs selon plusieurs critères.
Point, parties jouées, parties perdues, etc.

Un exemple dans le classeur ci-joint vaut mieux que des mots.

Merci pour vos réponses et à bientôt
 

Pièces jointes

  • YVV.xlsx
    15 KB · Affichages: 8

Hulk

XLDnaute Barbatruc
Salut mapomme,

Impeccable !

Juste une petite chose, pour l'instant pour classer dans l'ordre, je sélectionne la plage A2:R11 et je trie de la valeur la plus faible à la plus élevée.
Y aurait-il un moyen d'automatiser ça ?

Merci de ton aide et bonne nuit !
 

Hulk

XLDnaute Barbatruc
Hello,

Ben j'ai enregistré une simple macro sur le tri et ça joue.

VB:
ActiveWorkbook.Worksheets("YVV").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("YVV").Sort.SortFields.Add2 Key:=Range("A2:A11"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    
    With ActiveWorkbook.Worksheets("YVV").Sort
        .SetRange Range("A2:R11")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    
    Range("A1").Select

Mais si tu as plus "pro" ou une proposition avec formules je suis preneur.

Càd qu'avec des formules il aurait 2 tableaux ?

Bref, vois si tu peux et veux et je verrai bien comment tu as monté la chose.

Tu réponds quand tu peux sans soucis.

En tous cas merci pour tout mapomme !

Bonne soirée à tous !
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @Capuano

C'est exactement ça.
En utilisant la méthode Sort de l'objet Range, on peut le faire avec une instruction sur une seule ligne (si trois critères ou moins).

En incluant la ligne des en-têtes:
VB:
Sub trier()
   Range("a1:r11").Sort key1:=Range("a1"), order1:=xlAscending, Header:=xlYes, MatchCase:=False
End Sub

ou bien en ignorant la ligne des en-têtes:
VB:
Sub trier()
   Range("a2:r11").Sort key1:=Range("a2"), order1:=xlAscending, Header:=xlNo, MatchCase:=False
End Sub

Voir ICI
 
Dernière édition:

Discussions similaires

Réponses
40
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…