Recuperation json cotes pmu

Un essai

148pmu.xlsm (42.42 Ko)

Sans entrer dans la conversation, je pense que ce qu'il cherche :

'Ajouté par moi, d'après renseignement
newf.Cells(li + 4, 7).Value = .element(li).nombreCourses
newf.Cells(li + 4, 8).Value = .element(li).nombreVictoires
newf.Cells(li + 4, 9).Value = .element(li).nombrePlaces
newf.Cells(li + 4, 10).Value = .element(li).nombrePlacesSecond
newf.Cells(li + 4, 11).Value = .element(li).nombrePlacesTroisieme

super, merci Hoareau

Steelson, Hoareau

C'était un peu l'idée de depart , mais finalement la dernière mouture est après coup, bien plus interessante car elle permettra de definir un coeff qui tiens compte du niveau de forme bien plus récent des chevaux en combinant ces infos.

Cela me convient, c'est tout bon pour moi,

Merci encore Steelson, et désolé pour le malentendu

Cordialement,

Mamarus

Bonjour

Serait-il possible

Dans une nouvelle feuille, récapituler le contenu de tous les onglets sous la forme :

Date,Lieux,Prix,R*C*,Num,cheval,cote direct, cote reference, musique, nombre de fois courru par année

pour résumer, les mêmes renseignements, sur une feuille unique, avec le même formatage, split, mfc etc...

le nombre de fois couru par année, nbval me donne un chiffre faux

merci

Dans une nouvelle feuille, récapituler le contenu de tous les onglets sous la forme :

Date,Lieux,Prix,R*C*,Num,cheval,cote direct, cote reference, musique, nombre de fois courru par année

le nombre de fois couru par année, nbval me donne un chiffre faux

Bonjour,

on conserve chaque feuille individuelle ou pas ?

le nombre de fois couru par année est faux ... à cause de la macro ou c'est le chiffre du json qui est faux ?

Oui on conserve

le json, ,'n'est pas faux, ce n'est pas au niveau newf.Cells(li + 4, 7).Value = .element(li).nombreCourses

Ce que j'ai oublié de dire, c'est une autre procédure, que j'ai faite, indépendante de la votre, la votre je n'y touche que si nécessaire,mais qui prends les informations de votre procédure

J'ai fait des plages, "set course_année= offset", pour pouvoir compter le nombre de courses, pour cela, j'utilise NBval, pour compter dans la plage

qui me donne des erreurs, une seule cellule avec valeur dans la plage et NBVAl me donne 2

Après recherche:

"Comme la fonction NB (), cette fonction peut vous faire gagner du temps lorsque vous comptez

les valeurs dans une liste d'arguments. La seule différence est que la fonction NBVAL () compte

également le texte, les valeurs logiques et les valeurs d'erreur"

Je me demande donc, s"il n"y as pas des "parasites" au niveau du split

Set course_jour = Range(t, t.Offset(0, 10))

course_jour.Value = Val(course_jour.Value) >> semble avoir résolu le problème

---------------------------------------------------------------------------------------------------------

Par contre, dans le split de la musique, il y a des valeurs qui sautent :

Pour comprendre la musique, je vous joint un fichier, voir page page 1, résumé

144musique-lettrage.zip (796.28 Ko)

en exemple, R12 C5 de ce jour, le Da, n'apparait pas, à la différence des autres valeurs affichées, qui sont en minuscule, est ce lié à la casse ?

D'autres lettres sont en majuscule, dans la musique, j'essaie de voir, si je trouve d'autre lettres majuscules qui sautent, à condition qu'il y en ai dans ces réunions

Il y a des détails que l'on ne peut voir qu'après utilisation

A : arrêté

D:disqualifié etc...

3HAPPY NATH0a8aDa0a6aDaDa0a8a0a6a 40

A critiquer ...

edit : on s'est crisé, je n'ai pas encore lu ta prose !

edit2 : erreurs dans la mise en forme dû fait du décalage des colonnes => fichier supprimé en cours de reprise

Correction et décompte des cas ADTR

edit : fichier supprimé pour ne garder que la dernière version sur le fil

Bonjour

- Les lettres majuscules ADTR, n'apparaissent pas dans la musique splitée, alors qu'elles sont dans la cellule musique

Mis en rouge caractère pour visualiser, colonne G

- R2/C7, réunion 2, course 7

J'aurais aimé avoir, l'ensemble des réunions et des courses dans la feuille récapitulative, avec une colonne pour la réunion, une colonne pur le N° de course

- A la question, on conserve les autres feuilles, j'avais répondu oui

La feuille récapitulative vient donc en plus das autres feuilles

merci

J'aurais aimé avoir, l'ensemble des réunions et des courses dans la feuille récapitulative, avec une colonne pour la réunion, une colonne pur le N° de course

- A la question, on conserve les autres feuilles, j'avais répondu oui

Il me reste donc à re-dupliquer le résultat individuellement pour chaque course, cela évitera une macro à rallonge

Esr-ce que la réunion et le n° de course doivent être inscrits sur chaque ligne ?

les majuscules s'affichent maintenant, c'est bien, c'était quoi le problème?

oui, sous cette forme, pour toutes les réunion

R1C1
R1C2
R1C3
R1C4
R1C5
R1C6
R1C7
R1C8
R1C9
R2C1
R2C2
R2C3
R2C4
R2C5
R2C6
R2C7
R2C8
R2C9

les majuscules s'affichent maintenant, c'est bien, c'était quoi le problème?

C'était moi le problème !

Je sélectionnais que les binômes* sous la forme de [0-9][a-z], je suis donc passé à [0-9A-Z][a-z]

* expressions régulières

Impeccable

Procédure très rapide, aussi bien dans son exécution, que dans sa réalisation

Une question, je n'ai pas vu dans le code, de référence directe aux années 20, 19

Je suppose donc que l'année changeant, le code en tiendra compte sans modification

merci

J'en tiens compte ici

cetteannee = Mid(CStr(Year(Now)), 3, 2)

que dire

j'essaie de mettre, une feuille auteur et site, dans les feuilles que je récupère

La procédure supprime toutes les feuilles lors du lancement, hormis réunion

je voudrais qu'elle ne me supprime pas la feuille auteur

Fais précéder le nom des feuilles que tu veux garder par _

et modifie cette sub

Sub suppfeuilles()
Dim f As Worksheet
    For Each f In Worksheets
        Application.DisplayAlerts = False
        If f.Name <> ActiveSheet.Name And Left(f.Name, 1) <> "_" Then f.Delete
        Application.DisplayAlerts = True
    Next
End Sub

merci

Bonjour.Merci pour les fichiers,c'est top.Par contre,,j'ai un probléme pour récupérer les gains carriére et les gains victoires.Voilà le code

Sub Turf3()
Dim f As Worksheet, newf As Worksheet
Dim ScriptControl As Object, PMU As Object
Dim Ecurie As Object, Cheval As Object, Drd As Object, Gp As Object
Dim Site As String, li As Long

Set f = ActiveSheet
reunion = f.Range("B" & Selection.Row)
For i = Selection.Row To f.Range("D" & Rows.Count).End(xlUp).Row
RC = f.Range("D" & i)
Set newf = Sheets.Add(After:=Sheets(Sheets.Count))
newf.Name = Replace(RC, "/", " ")

Set ScriptControl = CreateObject("MSScriptControl.ScriptControl")
ScriptControl.Language = "JScript"

Site = f.Range("C1").Value & RC & "/participants"
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", Site, False
.send
Set PMU = ScriptControl.Eval("(" + .responseText + ")")
.abort
End With

li = 2
newf.Cells(1, 1) = f.Range("B1")
newf.Cells(1, 1).NumberFormat = "[$-F800]dddd, mmmm dd, yyyy"
newf.Cells(1, 2) = "Cheval"
newf.Cells(1, 3) = "Cote"
newf.Cells(1, 4) = "Musique"
newf.Cells(1, 5) = "Age"
newf.Cells(1, 6) = "Sexe"
newf.Cells(1, 7) = "NbreCourses"
newf.Cells(1, 8) = "NbreVictoires"
newf.Cells(1, 9) = "NbrePlaces"
newf.Cells(1, 10) = "NbreSecond"
newf.Cells(1, 11) = "NbreTroisieme"
newf.Cells(1, 12) = "GainsCarriére"
newf.Cells(1, 13) = "GainsVictoires"

Set Ecurie = PMU.participants
On Error Resume Next
For Each Cheval In Ecurie
With ActiveSheet
newf.Cells(li, 1).Value = Cheval.numPmu
newf.Cells(li, 2).Value = Cheval.nom
Set Drd = Cheval.dernierRapportDirect
newf.Cells(li, 3).Value = Drd.rapport
newf.Cells(li, 4).Value = Cheval.musique
newf.Cells(li, 5).Value = Cheval.age
newf.Cells(li, 6).Value = Cheval.sexe
newf.Cells(li, 7).Value = Cheval.nombreCourses
newf.Cells(li, 8).Value = Cheval.nombreVictoires
newf.Cells(li, 9).Value = Cheval.nombrePlaces
newf.Cells(li, 10).Value = Cheval.nombrePlacesSecond
newf.Cells(li, 11).Value = Cheval.nombrePlacesTroisieme
Set Gp = Cheval.GainsParticipants
newf.Cells(li, 12).Value = Gp.gainsCarriére / 100
newf.Cells(li, 13).Value = Gp.gainsVictoires / 100
li = li + 1

End With
Next Cheval
newf.Cells.EntireColumn.AutoFit
Set PMU = Nothing
Set ScriptControl = Nothing
Next

f.Select

End Sub

Si vous pouvez modifier le code des lignes 12 et 13.Merci

Rechercher des sujets similaires à "recuperation json cotes pmu"