Problème Importation données Jason

Bonjour,

Je suis nouveau sur le site et passionné de chevaux.

Voilà j'ai un petit souci de programmation pour la récupération de Données.

Mon problème est que, j'arrive à récupérer les données mais celle-ci se mettre dans un tableau tout à la suite, je voudrais récupérer les données en Citationsconsolidées 0:,1:;2: juste les ratios et les mettre en ligne par rapport à chaque cheval.

jason02072020

Je sais que je dois faire une boucle mais je bloque. Je voudrais mettre pour le cheval 1 chaque ratio en f16,g16,h16, la suite pour le cheval 2 en f17;g17;h17 ainsi de suite mais je bloque.

Serait-il possible de m'aider à résoudre mon problème?

Merci d'avance pour vos réponses

Patron28

La macro sans le lien du site.

Sub Feuil1()

Dim ScriptControl As Object, PMU As Object

Dim Ecurie As Object, Cheval As Object, Rb As Object, Gp As Object

Dim Site As String, i As Long

Set ScriptControl = CreateObject("MSScriptControl.ScriptControl")

ScriptControl.Language = "JScript"

Site =

With CreateObject("MSXML2.XMLHTTP")

.Open "GET", Site, False

.send

Set PMU = ScriptControl.Eval("(" + .responseText + ")")

.abort

End With

Range("c16:d69").ClearContents

Range("c16:d69").ClearFormats

Range("c16:d69").Font.Size = 8

With Sheets("Feuil1").Range("c16:d69")

.HorizontalAlignment = xlHAlignCenter

.VerticalAlignment = xlVAlignCenter

.Borders.Value = 1

End With

i = 16

Set Ecurie = PMU.listeCitations

On Error Resume Next

For Each Cheval In Ecurie

With ActiveSheet

For Each Rb In Cheval.participants

.Cells(i, 3).Value = Rb.numPmu

For Each Gp In Rb.citationsConsolidees

.Cells(i, 4).Value = Gp.ratio / 100

i = i + 1

Next

Next

End With

Next Cheval

Set Rb = Nothing

Set Gp = Nothing

Set Ecurie = Nothing

Set PMU = Nothing

Set ScriptControl = Nothing

End Sub
Merci pour votre temps et vos idées pour résoudre mon problème.

Bien à vous

Patron28

Bonsoir,

Personne partant pour une aide ?

Patron28

Bonjour Patron

mais oui voici ma réponse : j'ai un passionné de chevaux qui veux des données rangées suivant trois colonnes pour le premier cheval et ainsi de suite dessous pour les autres chevaux, il nous donne une macro qui ne marche pas et veux une réponse !!

Comme j'aime les chevaux je vais m'accrocher mais il me faudrait le fichier avec votre code, sans les données critiques, avec les données présentées avant macro, après macro et aprés correction de la macro, plus vos remarques et l'aide sera rapide

Cdt

Bonjour patron28

Bonjour Toukoul

Il nous faudrait surtout une Table de Citation Consolidée, notamment pour comprendre la structure globale du json (Ecurie, Cheval, etc.)

Un programme qui visualise la bonne structure du document

40pmu-json.xlsm (49.68 Ko)

...

Salut Patron

Je me croirais à l'usine!

Voila une solution sans VBA

Cdt

Bonjour,

Merci pour les messages, voici en pièce jointe le structure de jason et en même temps le fichier.

Merci pour votre aide.

Patron28

Proposition

Sub Feuil1()

Dim ScriptControl As Object, PMU As Object
Dim Ecurie As Object, Cheval As Object, Rb As Object, Gp As Object
Dim Site As String, i As Long
Set ScriptControl = CreateObject("MSScriptControl.ScriptControl")
ScriptControl.Language = "JScript"

Site = "https://offline.turfinfo.api.pmu.fr/rest/client/1/programme/" & [D5] & "/R" & [F5] & "/C" & [H5] & "/citations?paris=E_TRIO&specialisation=INTERNET&groupe=false"

With CreateObject("MSXML2.XMLHTTP")
    .Open "GET", Site, False
    .send
    Set PMU = ScriptControl.Eval("(" + .responseText + ")")
    .abort
End With

Range("C15").CurrentRegion.Offset(1, 0).ClearContents

i = 16
Set Ecurie = PMU.listeCitations
On Error Resume Next
For Each Cheval In Ecurie
    With ActiveSheet
    For Each Rb In Cheval.participants
        .Cells(i, 3).Value = Rb.numPmu
        j = 0
        For Each Gp In Rb.citationsConsolidees
            .Cells(i, 4 + j).Value = Gp.ratio / 100
            j = j + 1
            Next
        i = i + 1
        Next
    End With
Next Cheval

Set Rb = Nothing
Set Gp = Nothing
Set Ecurie = Nothing
Set PMU = Nothing
Set ScriptControl = Nothing

End Sub

Nota : c'est du json, pas du jason.

Super Steelson, ça marche très bien.

Merci pour ton aide

Patron28

Rechercher des sujets similaires à "probleme importation donnees jason"