1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| Sub Macro1()
Dim j As Byte, i As Byte, n As Byte
Dim m As Integer
Application.ScreenUpdating = False
With Worksheets("Feuil1")
'On efface la colonne G Point par Barèmes
.Range("G4:G17").ClearContents
'Pour chaqu colonne de K à Y (Analogiquement Partie j)
For j = 11 To 25
'Pour chaque ligne de 4 à 17 (Analogiquement concurrent i)
For i = 4 To 17
'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(21, j)).Address & ")")
'm est le nombre de points selon le barème du participant i pendant la partie j
m = IIf(n = 14, 5, 140 - 10 * 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:Y21").Sort Key1:=.Range("G4"), Order1:=xlDescending, Key2:=.Range("I4"), Order2:=xlDescending, Header:=xlNo
End With
End Sub |
Partager