Il aurait été plus facile que les noms des catégories correspondent aux noms des feuilles mais bon, voici une solution :
Sub dispatchResultats()
Dim derlign As Long, i As Long, derlignTemp As Long
Dim nomFeuil As String
derlign = Sheets("resultat course").[i5:i65536].Find("", LookIn:=xlValues).Row - 1
For i = 5 To derlign
If Cells(i, 9) Like "Vétéran*" Then
nomFeuil = "Vétéran " & Replace(Right(Cells(i, 9), 3), " ", "")
ElseIf Cells(i, 9) Like "Sénior*" Then
nomFeuil = Replace(Cells(i, 9), "é", "e")
Else
nomFeuil = Cells(i, 9)
End If
derlignTemp = Sheets(nomFeuil).Range("b65536").End(xlUp).Row + 1
Sheets(nomFeuil).Range("b" & derlignTemp & ":f" & derlignTemp) = Sheets("resultat course").Range("f" & i & ":j" & i).Value
Next i
End Sub
Le fichier qui va avec.