Sub Macro18()
Dim j As Byte, i As Byte, n As Byte
Dim m As Integer
h
Application.ScreenUpdating = False
With Worksheets(" ClassementPoints")
'On efface la colonne G Point par Barèmes
.Range("G4:G27").ClearContents
'Pour chaqu colonne de K à Y (Analogiquement Partie j)
For j = 11 To 25
'Pour chaque ligne de 4 à 27 (Analogiquement concurrent i)
For i = 4 To 27
'Si le nombre de points du concurrent i pendant la partie j est renseigné
If .Cells(i, j) <> "" Then
'n Correspond au Rang du participant i dans la partie j
n = Evaluate("RANK(" & .Cells(i, j).Address & "," & .Range(.Cells(4, j), .Cells(27, j)).Address & ")")
'm est le nombre de points selon le barème du participant i pendant la partie j
m = IIf(n <= 3, 140 - 10 * n, 125 - 5 * n)
'en ajoute dans la cellule G, le nombre de points selon le barème du concurrent i
.Cells(i, 7).Value = Val(.Cells(i, 7).Value) + m
End If
Next i
Next j
'On tri sur le points barèmes puis sur le total des points gagnés dans les parties
.Range("F4:Y27").Sort Key1:=.Range("G4"), Order1:=xlDescending, Key2:=.Range("I4"), Order2:=xlDescending, Header:=xlNo
End With
End Sub