Microsoft 365 Demande d'aide sur fonction de classement d'équipes selon un nombre de points

LAETI-TOINOU

XLDnaute Occasionnel
Rebonjour à toutes et à tous,

Je viens vers vous, les experts, pour m'aider une nouvelle fois sur une formule.

J'ai un tableau de 20 équipes, ayant toutes marqué un certain nombre de points.

Je voudrais faire un classement de celles-ci, en fonction de leur nombre de points
Classement 1 - Equipe XXXX - XXX Points
Classement 2 - Equipe XXXX - XXX Points
....

J'avoue avoir quelques difficultés sur la formule, alors que certains d'entre vous pourront en 2 clics m'aider sur ce sujet.

Merci beaucoup, beaucoup.

Bonne fin d'après-midi
 

Pièces jointes

  • EXCEL - Classement un nombre de points.xlsx
    11.8 KB · Affichages: 18

LAETI-TOINOU

XLDnaute Occasionnel
Merci beaucoup @sylvanu, @Victor21 et @djidji59430

Je m'aperçois qu'il y a vraiment de nombreuses façons d'arriver au résultat attendu.

Néanmoins, je retiendrais la solution de @djidji59430 beaucoup plus facile à reproduire.

Par contre @djidji59430, si dans mon tableau, je souhaitais mettre le score avant le nom de l'équipe, comment faudrait-il que je fasse ? Je sais pour pour cet exemple ce n'est pas ce qu'il faudrait faire, mais j'aimerais connaitre la manip, dans le cas où j'aurais un cas similaire.

Merci de votre aide à tous.

Laëtitia
 

job75

XLDnaute Barbatruc
Bonsoir LAETI-TOINOU, le fil,

Une solution VBA avec cette macro qui crée le tableau classé :
VB:
Sub Classer()
Application.ScreenUpdating = False
With [Tableau1].ListObject.Range 'tableau structuré
    If .Parent.ListObjects.Count = 2 Then .Parent.ListObjects(2).Delete 'RAZ
    .Copy .Offset(, 4) 'copier-coller
    .Offset(, 4).Sort .Columns(6), xlDescending, Header:=True 'tri décroissant
    .Cells(1, 4) = "RANG"
    .Parent.ListObjects(2).Resize .Offset(, 3).Resize(, 3) 'redimensionne le 2ème tableau
    .Cells(2, 4) = "=RANK([@" & .Cells(1, 2) & "],[" & .Cells(1, 2) & "])" 'formule
    .Columns(4).HorizontalAlignment = xlCenter 'centrage
    '---permutation de colonnes (facultatif)---
    .Columns(6).Cut
    .Columns(5).Insert xlToRight
End With
End Sub
Bonne nuit.
 

Pièces jointes

  • EXCEL - Classement un nombre de points (1).xlsm
    19.3 KB · Affichages: 18

LAETI-TOINOU

XLDnaute Occasionnel
Bonsoir LAETI-TOINOU, le fil,

Une solution VBA avec cette macro qui crée le tableau classé :
VB:
Sub Classer()
Application.ScreenUpdating = False
With [Tableau1].ListObject.Range 'tableau structuré
    If .Parent.ListObjects.Count = 2 Then .Parent.ListObjects(2).Delete 'RAZ
    .Copy .Offset(, 4) 'copier-coller
    .Offset(, 4).Sort .Columns(6), xlDescending, Header:=True 'tri décroissant
    .Cells(1, 4) = "RANG"
    .Parent.ListObjects(2).Resize .Offset(, 3).Resize(, 3) 'redimensionne le 2ème tableau
    .Cells(2, 4) = "=RANK([@" & .Cells(1, 2) & "],[" & .Cells(1, 2) & "])" 'formule
    .Columns(4).HorizontalAlignment = xlCenter 'centrage
    '---permutation de colonnes (facultatif)---
    .Columns(6).Cut
    .Columns(5).Insert xlToRight
End With
End Sub
Bonne nuit.
Bonjour @job75,

Merci pour ta proposition.

Malheureusement, et à mon grand regret, je ne connais pas le VBA.
Il me faut vraiment apprendre le VBA si je veux vraiment progresser sur EXCEL.

Bonne journée.

Laëtitia
 

LAETI-TOINOU

XLDnaute Occasionnel
Bonjour LAETI-TOINOU, le fil,


Il n'y a pas besoin de connaître le VBA.

Il suffit de cliquer sur le bouton ou d'exécuter la macro par les touches Alt+F8..

A+
Oui, je comprends bien, et je t'en remercie.

En plus que vous preniez tous du temps à m'aider, j'aime pouvoir ensuite reproduire ces formules toute seule pour progresser.
Lorsque "language" utilisé est trop compliqué pour moi (alors qu'il semble très accessible pour vous), je ne comprends pas pourquoi j'écris telle ou telle chose.

J'apprends énormément grâce à vous tous, car je n'ai malheureusement pas la possibilité de suivre de formation.


Laëtitia
 

job75

XLDnaute Barbatruc
Et pas besoin de bouton, il suffit de placer cette macro dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
With [Tableau1].ListObject.Range 'tableau structuré
    If .Parent.ListObjects.Count = 2 Then .Parent.ListObjects(2).Delete 'RAZ
    .Copy .Offset(, 4) 'copier-coller
    .Offset(, 4).Sort .Columns(6), xlDescending, Header:=True 'tri décroissant
    .Cells(1, 4) = "RANG"
    .Parent.ListObjects(2).Resize .Offset(, 3).Resize(, 3) 'redimensionne le 2ème tableau
    .Cells(2, 4) = "=RANK([@" & .Cells(1, 2) & "],[" & .Cells(1, 2) & "])" 'formule
    .Columns(4).HorizontalAlignment = xlCenter 'centrage
    '---permutation de colonnes (facultatif)---
    .Columns(6).Cut
    .Columns(5).Insert xlToRight
End With
Application.EnableEvents = True 'réactive les évènements
End Sub
Elle se déclenche quand on modifie ou valide une cellule quelconque, voyez ce fichier (2).
 

Pièces jointes

  • EXCEL - Classement un nombre de points (2).xlsm
    19.5 KB · Affichages: 5

LAETI-TOINOU

XLDnaute Occasionnel
Et pas besoin de bouton, il suffit de placer cette macro dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
With [Tableau1].ListObject.Range 'tableau structuré
    If .Parent.ListObjects.Count = 2 Then .Parent.ListObjects(2).Delete 'RAZ
    .Copy .Offset(, 4) 'copier-coller
    .Offset(, 4).Sort .Columns(6), xlDescending, Header:=True 'tri décroissant
    .Cells(1, 4) = "RANG"
    .Parent.ListObjects(2).Resize .Offset(, 3).Resize(, 3) 'redimensionne le 2ème tableau
    .Cells(2, 4) = "=RANK([@" & .Cells(1, 2) & "],[" & .Cells(1, 2) & "])" 'formule
    .Columns(4).HorizontalAlignment = xlCenter 'centrage
    '---permutation de colonnes (facultatif)---
    .Columns(6).Cut
    .Columns(5).Insert xlToRight
End With
Application.EnableEvents = True 'réactive les évènements
End Sub
Elle se déclenche quand on modifie ou valide une cellule quelconque, voyez ce fichier (2).
Je préfère cette version.

Top
 

Discussions similaires

Réponses
4
Affichages
238

Statistiques des forums

Discussions
311 720
Messages
2 081 896
Membres
101 833
dernier inscrit
sandra25