Sub calcul()
Dim ligne&, numfeuille&
Set wf = WorksheetFunction
Set dos_eq = Sheets("terrain").Range("B2:B65000")
Set wod = Sheets("terrain").Range("D2:D65000")
Set indwod = Sheets("terrain").Range("E2:E65000")
Set perfwod = Sheets("terrain").Range("G2:G65000")
Set bareme = Sheets("BAreme").Range("A2:B22")
On Error Resume Next
For numfeuille = 3 To 5
Sheets(numfeuille).Select
For ligne = 5 To Range("B65000").End(xlUp).Row
Range("S" & ligne) = Format(wf.Index(perfwod, wf.Match("Wod1" & Range("B" & ligne), indwod, 0), 0, "MM:SS"))
If IsEmpty(Range("S" & ligne)) Then Range("S" & ligne).Value = """"
Range("V" & ligne) = Format(wf.Index(perfwod, wf.Match("Wod2" & Range("B" & ligne), indwod, 0), 0, "MM:SS"))
If IsEmpty(Range("V" & ligne)) Then Range("V" & ligne).Value = """"
Range("Y" & ligne) = Format(wf.Index(perfwod, wf.Match("Wod3" & Range("B" & ligne), indwod, 0), 0, "MM:SS"))
If IsEmpty(Range("Y" & ligne)) Then Range("Y" & ligne).Value = """"
Range("AB" & ligne) = Format(wf.Sum(Range("S" & ligne), Range("V" & ligne), Range("Y" & ligne)), "MM:SS")
Next ligne
For ligne = 5 To Range("B65000").End(xlUp).Row
'rechercher le rang pour wod1
' Range("T", ligne) = wf.Rank(Range("S" & ligne), Range("S2:S65000"), 1)
Range("T", ligne) = wf.Rank(CDbl(Range("S" & ligne)), Range("S2:S65000"), 1)
'rechercher les points dans le bareme pour wod1
Range("U" & ligne) = wf.VLookup(Range("U" & ligne), bareme, 2)
Next ligne
Next numfeuille
'Call calcul_rang
End Sub