XL 2016 Classement matricielle

croco40

XLDnaute Occasionnel
Bonsoir à tous,
Je sais il y a plein de topic sur le sujet, mais j'en ai lu beaucoup et je ne trouve pas mon bonheur.
Dans le fichier joint colonne E, j'aimerais avoir le numero de rang par serie par rapport aux notes (Colonne B), 1 = le max de point & 5 le mini + gestion des egalités (secondaire).
Puis dans le tableau de droite, toujours par serie et dans l'ordre, je voudrais avoir par exemple pourla serie 1, le premier, le Nb de points, son numero de dossard et son nom.
C,est pourquoi j'appelle au secours.
Par avance merci.
suerte Croco
 

Pièces jointes

  • Classement.xlsx
    12.9 KB · Affichages: 18

Rouge

XLDnaute Impliqué
Bonjour,

Résolution avec l'emploi du VBA, plus qu'à cliquer sur le bouton.
le code
VB:
Sub Classement()
    Dim DerLig As Long, i As Long, j As Long
    Dim x As Range
    Application.ScreenUpdating = False
    DerLig = Range("C" & Rows.Count).End(xlUp).Row
    'Tableau de gauche
    For i = 2 To DerLig Step 5
        For j = 0 To 4
            Cells(i + j, "E") = Application.WorksheetFunction.Rank(Cells(i + j, "B"), Range(Cells(i, "B"), Cells(i + 4, "B")))
            If Application.WorksheetFunction.CountIf(Range(Cells(i, "B"), Cells(i + j, "B")), Cells(i + j, "B")) > 1 Then Cells(i + j, "E") = Cells(i + j, "E") + 1
        Next j
    Next i
    
    'Tableau de droite
    For i = 2 To DerLig Step 5
        With Range(Cells(i, "E"), Cells(i + 4, "E"))
            For j = 1 To 5
                Set x = .Find(j)
                Range(Cells(i + j - 1, "J"), Cells(i + j - 1, "L")).Value = Range(Cells(x.Row, "B"), Cells(x.Row, "D")).Value
            Next j
        End With
    Next i
    Set x = Nothing
End Sub

Cdlt
 

Pièces jointes

  • croco40_Classement matricielle.xlsm
    20.6 KB · Affichages: 6

Discussions similaires

Réponses
18
Affichages
743

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16