Tri sans valeur " 0 "

Bonsoir,

La finalisation … sur l’onglet " Equipes" , je peux avoir jusqu’à 24 équipes, mais aussi moins.

Sur mon exemple, j’ai 22 équipes et lors du classement, la valeur reprise " 0 " s’intercale dans le classement entre les valeurs positives et les valeurs négatives. Le 1er critère de tri est le nombre de parties gagnées et ensuite la différence. Il faudrait que ces lignes à « 0 « soient à la fin ou ignorées.

Sur un tableau différent, j’ai fait appel au forum et j’ai obtenu la macro ci-dessous que je n’arrive pas à adapter à mon cas.

Sub Tri_resultats()

'

' Tri_resultats Macro

'

derln = Range("T" & Rows.Count).End(xlUp).Row

Range("W6:X" & Rows.Count).ClearContents

Range("T6:U45").Copy

Range("W6").PasteSpecial Paste:=xlPasteValues

Application.CutCopyMode = False

For L = 6 To derln

If Len(Range("W" & L).Value) < 2 Then Range("W" & L & ":X" & L).ClearContents

Next

Range("W6:X" & derln + 1).Sort Range("X6"), xlAscending

End Sub

Est-ce possible de l’adapter ou comment faire ?

Merci par avance aux contributeurs

Bruno

Bonjour

Essaie en remplaçant les premières instructions par celles-ci :

Sub tri_classement()

    Range("O11:S34").ClearContents
    Range("C11:G" & Range("C" & Rows.Count).End(xlUp).Row).Copy
    Range("O11").PasteSpecial xlPasteValues

'Le reste inchangé :
    Range("O11:T34").Select
    ...

Bye !

Bonjour " GMB ",

Ta proposition répond à l'exemple avec 22 équipes et le classement est dans ce cas conforme.

Par contre, ne sachant pas au départ le nombre d'équipes présentes, je viens de retirer 2 équipes et, dans ce cas, les 2 dernières retirées figurent dans le classement (voir fichier)

Est-il possible de prévoir la surpression du niveau des équipes absentes qui affichent un " 0 " et qui se placent entre les valeurs positives et négatives du niveau sans parties gagnées ?

Merci pour tes recherches sur cette possibilité.

Bien cordialement

Bruno

Un essai à tester qui rend inutiles les colonnes masquées.

On peut donc les effacer mais pas les supprimer...

Cela te convient-il ?

Bye !

Bonsoir " GMB ",

Cette solution me convient, l'essentiel étant d’avoir le classement dans l'ordre des équipes présentes.

Par contre, sur ce classement, le 1er critère de tri étant le nombre de parties gagnées (du plus grand au plus petit, le 2ème est la différence dans le nombre de parties gagnées et donc différence également de la plus grande à la plus petite.

J'ai essayé de modifier ta macro en mettant " Ascending " à la place de " Descending " mais le résultat n'est pas concluant.

Faut-il rentrer un critère de plus ?

Avec le bouton " Lancer le tri " le classement parties / différence est ok ... mais problème des lignes à 0. Avec le bouton " Classer " le classement " parties " est OK mais il faudrait la différence de la plus grande à la plus petite.

Si c'est possible ce serait le " top" ...

Merci pour ta précieuse aide.

Bien cordialement

Bruno

Ok

Il y a un bug : dans l'instruction de tri il y a 2 fois order1 et pas de order2.

Corrige et cela devrait aller :

    Range("Y11:AC34").Sort key1:=Range("AB11"),order1:=xlDescending, _
            key2:=Range("AC11"), order2:=xlDescending, Header:=xlNo

Bye !

Merci " GMB " ... quel œil ! ...

C'est maintenant parfait et je t'en remercie vivement.

Bonne soirée et au plaisir de revenir sur ce forum pour apprendre plein de trucs sur Excel.

Bien à toi

Bruno

Rechercher des sujets similaires à "tri valeur"