Bonjour à tous,

Voilà j'ai mis en place ce code qui distribue des prix selon un nombre de points acquis par le candidats. Hors, je rencontre un problème que je n'arrive pas à résoudre :

Pour les candidats ayant un résultat compris entre 1 et 30, le prix attribué est le "Prix d'encouragements des Jurats".

Pour les candidats ayant un résultat compris entre 31 et 50, le prix attribué est le "3ème prix d'excellence". Mais seul le candidat ayant le meilleur score reçoit ce prix.

Idem pour les résultats entre 51 et 61.

Avec mon code actuel, tous les candidats reçoivent un prix et ce n'est pas ce que je recherche.

Pourriez-vous m'apporter votre aide s'il vous plait, je planche là-dessus depuis 2 jours sans y parvenir.

Je vous en remercie par avance

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
Function TitrePrix2(Resultat As Double, ResultatsLaureats As Range) As String
'résultat est la valeur à tester
'ResultatsLaureats est l'ensemble des résultats à évaluer en vue de connaitre le grand gagnant
 
 
'résultat de base pour les c
Select Case Fix(Resultat)
    Case 1 To 30
        TitrePrix2 = "Prix d'encouragements des Jurats"
    Case 31 To 50
        TitrePrix2 = "3ème Prix d'Excellence"
    Case 51 To 61
        TitrePrix2 = "2er Prix d'Excellence"
End Select
'est-ce le meilleur résultat?
'si oui, c'est un gaillard ce lascar!
If Application.WorksheetFunction.Max(ResultatsLaureats) = Resultat And Resultat > 61 Then TitrePrix2 = "1er Prix d'Excellence Saint Honoré"
 
End Function