Tri automatique sur différentes sélections multiples

degrasset

XLDnaute Nouveau
Bonjour à tous,

Petit nouveau sur ce forum et avec peu de connaissance sur Excel je suis sur que vous allez pouvoir m'aidez.

Je cherche à mettre en place un fichier me permettant de gérer un tournoi de football sur console.

Ce qui me pose problème aujourd'hui est le tri automatique de mes classements.
En effet sur la feuille "classement poules" de mon fichier je cherche à automatiser le tri sur différentes lignes sélectionnées.

Mes critères de tri sont multiples: par points (colonne L), par différence de buts (colonne K) puis par buts marqués (colonne I) et les cellules de cette feuille sont truffés de formules.

Merci d'avance de votre aide.
 

Pièces jointes

  • Copie de Tournoi Fifa.xls
    22.6 KB · Affichages: 100

Gorfael

XLDnaute Barbatruc
Re : Tri automatique sur différentes sélections multiples

Salut degrasset et le forum
Impossible de lire ton fichier

Ne connaissant pas ton fichier, juste une suggestion :
Les tris concernent normalement la "publication des résultats".
Pour des cas similaires, j'ai utilisé différentes astuces :
Calculer un nombre tenant compte des priorités pour le classement dans une colonne supplémentaire

Par exemple Y2 : =(L2*1000000)+(K2*1000)+I2
L est prioritaire sur K, prioritaire sur I => Les multiplicateurs permettent d'être sur qu'il n'y aura pas d'interférences d'un nombre sur l'autre.

Après, on utilise une seconde colonne pour déterminer le classement : si on est dans la colonne Z et que les équipes sont de la ligne 2 à 50, en Z2 :
=Sommeprod(($Y$2:$Y$50>Y2)*1)+1+Ligne()/1000
Pour le premier, SommeProd() donnera 0, pour le second, elle donnera 1, etc, c'est pourquoi on ajoute 1, ce qui donne la place directement
Ligne() retourne la ligne et le diviseur sert à faire en sorte que ça ne vienne pas perturber le classement, par contre, ça empêche les doublons : si tu as deux 2ème, leur partie décimale sera différente.

Ensuite, j'utilise une plage pour les résultats, avec une formule =petite.valeur($Z$2:$Z$50, Ligne()-X)
=> ligne()-X donnant 1 pour la première ligne du tableau des résultat
(Je le fais sur une nouvelle feuille qui ne sert qu'à ça)
ex : si commence le tableau en ligne 10, on aura :
=petite.valeur($Z$2:$Z$50, Ligne()-9)
Le format de la cellule est de type 0;; (pour éliminer les décimales)
Je crée une formule avec index() et Equiv() pour avoir la recopie des colonnes qui m'intéressent (le nom, les scores, les buts, etC...)
Puis on recopie les formules sur les 47 autres lignes

Et on se retrouve avec un classement mis à jour automatiquement, affichant du premier au dernier.

A+





Mes critères de tri sont multiples: par points (colonne L), par différence de buts (colonne K) puis par buts marqués (colonne I) et les cellules de cette feuille sont truffés de formules.

Merci d'avance de votre aide.[/QUOTE]
 

Discussions similaires

Statistiques des forums

Discussions
312 097
Messages
2 085 257
Membres
102 842
dernier inscrit
Miguelita