Créer une formule pour les performances des 3 premieres !

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

JBARBE

XLDnaute Barbatruc
Bonjour à tous,
Est-ce possible d'avoir une formules pour obtenir les performances de 1 à 3 selon les années comme dans les exemples que j'ai fait !
Les performances se lisent de gauche à droite !
Si ça n'est pas possible par date alors faire le total !
Merci à l'avance et Bonne journée !
 

Pièces jointes

Re,
En oubliant les années, si l'on pouvait mettre dans chaque cellule les chiffres par macro par exemple :
Comme ceci :
pmu.jpg
 
Bonjour Jbarbe,
En PJ un essai avec une fonction perso :
VB:
Function Classement(Chaine, AnnéeIn)
Dim tablo, Année As Integer, NbCar As Integer, i As Integer, c As Integer
Année = Val(Right(AnnéeIn, 2))
NbCar = Len(Chaine)
tablo = Split(Chaine, "(")
For i = 0 To UBound(tablo)
    If Val(Left(tablo(i), 2)) = Année Then Exit For
Next i
If Année = Val(Right(Year(Now), 2)) Then i = 0
If i = UBound(tablo) + 1 Then
    Classement = ""
    Exit Function
End If
NewChain = tablo(i)
Classement = 0
For c = 1 To Len(NewChain)
    Select Case Mid(NewChain, c, 2) ' Compte les 1,2,3
        Case "1s", "2s", "3s", "1h", "2h", "3h"
            Classement = Classement + 1
    End Select
    Select Case Mid(NewChain, c, 3) ' Mais décompte les 11,12,13
        Case "11s", "12s", "13s", "11h", "12h", "13h"
            Classement = Classement - 1
    End Select
Next c
If Classement = 0 Then Classement = ""
End Function
Sans prise en compte de la dernière remarque.
 

Pièces jointes

Bonjour Sylvanu,
Super !
ça marche !
Ce problème était pour la course hippique d'aujourd'hui à Auteuil ( Les haies )
Je vais donc adapter ta macro pour celle de demain dimanche dont les références de lettres sont différentes ! ( Le trot )
Je croyais ce genre de demande infaisable, et tu as été extraordinaire !
Mais, je connais tes posts que je consulte à chaque fois pour apprendre !
Je reviendrais vers toi si dans la course PMU demain je n'arrive pas à m'en sortir !
Toutefois, je vais mettre résolu !
Merci beaucoup et Bonne journée à tous !
 
Avec la seconde fonction :
VB:
Function Pos(Chaine, Position)
On Error GoTo finPos
Pos = ""
tablo = Split(Chaine, " ")
N = 0
For i = 0 To UBound(tablo)
Valeur = tablo(i)
If Left(tablo(i), 1) <> "(" Then
    If (Left(tablo(i), 1) <> "T" And Left(tablo(i), 1) <> "D" And Left(tablo(i), 1) <> "A") Then
        If (Right(tablo(i), 1) = "s" Or Right(tablo(i), 1) = "h") Then N = N + 1
        If N = Position Then
            Pos = Mid(tablo(i), 1, Len(tablo(i)) - 1)
            Exit Function
        End If
    End If
End If
Next i
finPos:
End Function
 

Pièces jointes

En supposant que les exclusions sont exhaustives car je n'ai travaillé qu'avec les chaines présentes, donc ne sont exclus que Ts, Ds et Dt.
Re,
Oui, Je vais faire attention à cela car chaque course est différente surtout avec les haies comme aujourd'hui et le plat contrairement a l’attelé de demain dimanche !
D'ailleurs je vais te donner le lien de signification ( lettres) des performances ( musiques ) pour les galopeurs ( haies aujourd'hui ) trotteurs demain dimanche !
Merci à l'avance !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
289
Réponses
6
Affichages
330
Retour