Macro à améliorer

Bonjour,

Je suis un petit nouveau sur ce forum et j'espère obtenir de l'aide de la part d'un excelien plus expert que moi...

Je gère des jeux sur mon site avec 10 réponses... et je classe les joueurs avec une macro. Celle-ci me classe les lignes de 5 à 137 en fonction du total obtenu par les joueurs (colonne B).

Je souhaiterais améliorer cette macro pour qu'elle classe les joueurs en fonction des critères suivants :

1. nombre de points (colonne B)

si ex-aequo...

2. nombre de participations (nbval de colonne C à colonne L)

3. nombre de points au premier jeu (colonne C)

4. nombre de points au 2ème jeu (colonne D)

5. et ainsi de suite jusqu'à la colonne L

La macro actuelle est la suivante :

Sub total()

'

' total Macro

' Macro enregistrée le 03/12/2006 par kelle1

'

' Touche de raccourci du clavier: Ctrl+t

'

Rows("5:137").Select

Selection.Sort Key1:=Range("B5"), Order1:=xlDescending, Header:=xlNo, _

OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _

DataOption1:=xlSortNormal

Range("N12").Select

ActiveWindow.SmallScroll Down:=-24

End Sub

voir fichier joint si besoin :

https://www.excel-pratique.com/~files/doc2/copie_jeux.zip

Merci d'avance...

Salut le forum

Pour trier commence de la colonne L vers la colonne B

Sub total()
'
' total Macro
' Macro enregistrée le 03/12/2006 par kelle1
'
' Touche de raccourci du clavier: Ctrl+t

Dim x as Byte

For x = 12 To 2 Step -1
    Rows("5:137").Sort Key1:=Cells(5, x), Order1:=xlDescending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
Next x
End Sub

Mytå

Le problème, c'est que notre règlement stipule que les ex-aequo sont départagés d'abord par le nombre de points (logique), ensuite par le nombre de participations, ensuite par leur résultat à la première question, puis la deuxième, etc...

Autre question : le tri ne peut se faire (en utilisant la fonction tri du logiciel) qu'avec 3 critères... est-il possible de règler cette fonction pour avoir davantage de critères lors du tri de données ???

Re le forum

Rajoute la colonne M avec la formule (A recopier vers le bas)

=SI(A5<>"";NBVAL(C5:L5);"")

Ta macro de tri devient

Sub total()
'
' total Macro
' Macro enregistrée le 03/12/2006 par kelle1
'
' Touche de raccourci du clavier: Ctrl+t

Dim x As Integer

For x = 12 To 3 Step -1
    Rows("5:137").Sort Key1:=Cells(5, x), Order1:=xlDescending, Header:=xlNo
Next x
    Rows("5:137").Sort Key1:=Cells(5, 13), Order1:=xlDescending, Header:=xlNo
    Rows("5:137").Sort Key1:=Cells(5, 2), Order1:=xlDescending, Header:=xlNo
End Sub

Mytå

Je viens d'appliquer les éléments de cette solution... et ça fonctionne à merveille !!!

Un grand BRAVO et un grand MERCI !!!

Re le forum

Juste pour simplifie le code

Sub total()
Dim x As Integer

With Rows("5:101")
  For x = 12 To 3 Step -1
    .Sort Key1:=Cells(5, x), Order1:=xlDescending, Header:=xlNo
  Next x
    .Sort Key1:=Cells(5, 13), Order1:=xlDescending, Header:=xlNo
    .Sort Key1:=Cells(5, 2), Order1:=xlDescending, Header:=xlNo
End With

End Sub

Et change ta formule en C102 si tu veux garder le total par colonne (A recopier vers la droite)

=NBVAL(C$5:C$101)

Mytå

Rechercher des sujets similaires à "macro ameliorer"