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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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

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
 
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
 
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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour