calculer un coefficient de reussite dans une course hippique

ivan972

XLDnaute Occasionnel
bonjour a tous, bonjour a chacun,

je sollicite l aide des forumeurs pour la difficulté suivante :

le domaine choisit est une course hippique

je souhaite calculer ce que l on appelle un coefficient de réussite noté CR (colonne E du tableau ci contre)

la formule de calcul est inscrite ci dessous.

Afin de calculer ce coefficient de reussite on doit tenir compte des performances du cheval dans la categorie choisise. Or participant a plusieurs categorie de course l interet est d avoir ce coeff de reussite pour toutes les categories apres chaque course courue DANS LA LIMITE DES 5 DERNIERES COURSES

Prenons l exemple de SEREZ je souhaite calculer son CR a la date du 18/02/2015 noté (fleche angle droit a deux pointes ).
le calcul devra prendre en compte SEREZ dans un HANDICAP COURSE D jusqu a cette date qui est exclu du calcul mais noté en cellule L19, et ce pour chaque cheval pour chaque date . (étendre la formule ???)

NB : si la cellule de classement est vide on note automatiquement 11 en valeur

dans l exemple on a donc CR= 3*(11-5)+2*(11-5)+1*(11-10)/3= 10,33

Vous remerciant
ivan
 

Pièces jointes

  • calculer un coefficient de reussite.xlsx
    190.9 KB · Affichages: 147
Dernière édition:

Paf

XLDnaute Barbatruc
Re : calculer un coefficient de reussite dans une course hippique

Bonjour ivan972,

un essai par fonction personnalisée:

en E2: =CR() à tirer vers le bas

dans un module standard:

Code:
Function CR()
 Application.Volatile
 Dim Lig As Integer, Plage, i As Integer, Classement(), x As Integer, temp As Integer
 Lig = Application.ThisCell.Row

 If Lig > 2 Then
    Plage = Range("A2:D" & Lig - 1)
    For i = LBound(Plage, 1) To UBound(Plage, 1)
        If Plage(i, 2) = Cells(Lig, 2) And Plage(i, 3) = Cells(Lig, 3) Then
            x = x + 1
            ReDim Preserve Classement(1 To 2, 1 To x)
            Classement(1, x) = x
            Classement(2, x) = Plage(i, 4)
        End If
    Next
    If x > 0 Then
        For i = LBound(Classement, 2) To UBound(Classement, 2)
            temp = temp + (i * (11 - Classement(2, i)))
        Next
        CR = temp / UBound(Classement, 2)
    Else
        CR = "Inconnu"
    End If
 Else
    CR = "Inconnu"
 End If
End Function

A+
 

ivan972

XLDnaute Occasionnel
Re : calculer un coefficient de reussite dans une course hippique

Bonjour Paf,

Merci d avoir prie le temps de repondre a ma difficulté.

ne maitrisant pas les codes je vais prendre du temps pour comprendre ce que tu as proposé.

En attendant un grand merci a toi



ivan
 

Discussions similaires

Statistiques des forums

Discussions
314 634
Messages
2 111 430
Membres
111 134
dernier inscrit
sem698