Récupérer cotes sur Web : zeturf.fr
#1
Régulier XLPages

Inscription: 06/09/2010

Messages: 58

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 06-09-2010 19h33
Tout d'abord, bonjour à tous, j'ai découvert ce forum tout a fait par hasard et je crois que je vais m'y plaire tant la convivialité et l'entraide semblent être de mise ici.

Avant de demander de l'aide j'ai lu et relu tous les "posts" qui ont abordé ce sujet mais sans trouver de réponse a mes interrogations et surtout à mes lacunes.

Je voudrais récupérer sur un site les données sous forme de tableaux en cliquant sur un bouton, ce site est zeturf, site de paris hippiques. la copie d'ecran des données à récupérer est en PJ, je voudrais dans la mesure du possible faire la même procédure pour toutes les courses de la journées et que cela s'affiche sous forme de tableaux.

Je galère depuis des mois et je n'arrive à rien.

Merci d'avance à ceux qui se pencheront sur mon probleme

Cordialement

Hors Ligne
Rapport   Haut 

Re: Besoin d'aide
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 07-09-2010 01h14
Bonsoir jc24 et bienvenue sur XLpages.com
Bonsoir le Forum,

Citation :
jc24 a écrit :
... la copie d'ecran des données à récupérer est en PJ, je voudrais dans la mesure du possible faire la même procédure pour toutes les courses de la journées et que cela s'affiche sous forme de tableaux.


Tu as oublié le fichier avec ton post...

Merci de lire attentivement ce qui est expliqué dans cette FAQ : Comment joindre un fichier dans le Forum ?.

Par ailleurs, joindre également un classeur avec exemple concret des tableaux que tu voudrais obtenir.

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Besoin d'aide
#3
Régulier XLPages

Inscription: 06/09/2010

Messages: 58

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 07-09-2010 07h37
Bonjour,

Effectivement j'ai dû louper une étape , je joins donc un exemple d'un tableau que je voudrais récupérer sur le site en question.

Grand merci de vous pencher sur mon probleme

Cordialement
Pièce jointe:
xls Classeur1.xls   [ Taille: 15.00 Ko - Téléchargements: 717 ]
Hors Ligne
Rapport   Haut 

Re: Besoin d'aide
#4
Régulier XLPages

Inscription: 06/09/2010

Messages: 58

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 07-09-2010 09h22
Re bonjour

En relisant mes posts je m'aperçois que je suis loin d'être clair dans mes formulations, donc pour résumer je galère depuis plusieurs mois pour récupérer sous forme de tableau les données du site "zeturf" pour toutes les courses de la journée à l'adresse zeturf.com, puis rubrique "resultats et rapports", sélection de la date désirée, puis de la reunion et rubriques cotes. J'aimerais récupérer si c'est possible toutes les données de la date sélectionnée mais devant la difficulté de la programmation je suis obligé d'admettre que mon tres petit niveau est tres largement insuffisant.

Je me demande même si c'est possible tant ca me parait compliqué

Encore merci pour ceux qui se pencheront sur mon casse tete




Hors Ligne
Rapport   Haut 

Re: Besoin d'aide
#5
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 08-09-2010 22h42
Bonsoir jc24,

Citation :
jc24 a écrit :
... récupérer sous forme de tableau les données du site "zeturf" pour toutes les courses de la journée à l'adresse zeturf.com, puis rubrique "resultats et rapports", sélection de la date désirée, puis de la reunion et rubriques cotes...

Je ne comprends pas le chemin d'accès indiqué...

Quel est l'intérêt de passer par "Résultats et rapports" puisque, d'après mes tests, la rubrique "Cotes" (dans le menu sur la gauche) ne change pas ? Cette rubrique "Cotes" n'est visiblement pas liée au "Résultats et rapports" en cours de visite... ou alors j'ai raté un détail...

Si tu veux de l'aide jc24, il va te falloir être nettement plus clair et plus précis. VBA c'est pratique, mais ça n'a rien de miraculeux... Ca ne fait que reproduire en automatique ce que toi, tu ferais (ou fais) manuellement. Ni plus, ni moins.

Donc si tu veux qu'on tente de bricoler une macro, il nous faut savoir comment, détail par détail, tu t'y prends manuellement et à quoi ressemble ce que tu veux obtenir exactement : récupérer toutes les courses sous forme de tableau en appuyant sur un bouton... Ok, mais ça se traduit comment dans le classeur Excel ? Plusieurs feuilles ? Une par réunion ? Tous les tableaux bout à bout sur une seule feuille ? Etc... Tu vois, ça fait beaucoup de choses pour un seul petit bouton.

Et tel que tu l'as présenté dans ton exemple, un tableau, pas de titre... tu vas faire comment pour savoir quel tableau va avec quelle course après ?

Ce genre d'exercice est toujours très long à réaliser... Pour ma part, je ne m'engagerais dans ce sujet que si on me fournit l'ensemble des éléments et explications nécessaires...

Cordialement,



Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Besoin d'aide
#6
Régulier XLPages

Inscription: 06/09/2010

Messages: 58

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 08-09-2010 23h52
Bonsoir,

Oui effectivement je suis, et je l'avais deviné, pas clair du tout dans ma demande, et j'en suis sincèrement désolé, ce qui parait évident pour moi en mode manuel ne l'est évidemment pas en mode informatique pour les gens qui ont la gentillesse de vouloir se pencher sur mon problème.

Je vais donc tenter de récapituler en phrases cohérentes la démarche que j'effectue manuellement.

Je me connecte sur le site zeturf.com
je vais dans le menu cotes
je sélectionne la 1ere réunion (c'est le nom de la ville ou se déroulent les courses)
je sélectionne la 1ere course, je fais un copié collé (voir fichier joint) des données qui m'interessent
je vais sous excel et je colle les données,
je retourne sur le site et je recommence pour la 2e course de la 1ere réunion
je fais un copié collé
et ainsi de suite pour toutes les courses des 3eres réunions

Ce travail est long et fastidieux et j'aimerais dans la mesure du possible créer une macro ou un ensemble de macro qui me permettent d'automatiser ces taches et que je puisse récupérer chaque soir la totalité des informations.

Les données collectées seraient récupérées sous forme de tableau avec toutes les courses se déroulant le même jour sur une seule feuille et chaque mois serait sur un classeur indépendant.

En PJ je joins une capture écran des données concernées et un fichier excel récapitulant les données de la journée une fois que j'ai fais les copiés collés pour toutes les courses des 3eres reunions

Les courses se déroulant pour chaque réunion dans un ordre chronologique, il n'est pas important que le numero de la course ou de la reunion soit récupéré, ca je peux le faire manuellement.

Encore merci et milles excuses pour mes posts précédents qui etaient plus que brouillon.

Cordialement








Pièce jointe:
zip exemple.zip   [ Taille: 47.91 Ko - Téléchargements: 737 ]
zip Journée_08_09_2010.zip   [ Taille: 25.75 Ko - Téléchargements: 613 ]
Edité par jc24 le 09/09/2010 00:08:43
Hors Ligne
Rapport   Haut 

Re: Besoin d'aide
#7
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 09-09-2010 22h40
Bonsoir jc24, le Forum,

Tu trouveras en pièce jointe une interprétation de ta demande.

Pour info, j'ai utilisé le code VBA suivant (dans un module de code standard) :

Option Explicit
'---------------------------------------------------------------------------------------
' Auteur    : Didier FOURGEOT (myDearFriend!)  -  www.mdf-xlpages.com
' Date      : 09/09/2010
' Sujet     : Récup données Web ZEturf
'---------------------------------------------------------------------------------------
Sub Traitement()
Dim IE As InternetExplorer
Dim IEDoc As HTMLDocument
Dim Col As New Collection
Dim F As Worksheet
Dim T As String
Dim L As Long
Const vURL As String = "http://www.zeturf.fr/fr/cotes/"
    'Creation nouvelle feuille de stockage
    T = Format(Date, "dd-mm-yyyy")
    On Error Resume Next
    Set F = Sheets(T)
    On Error GoTo 0
    If F Is Nothing Then
        Sheets("Modèle").Copy After:=Sheets(1)
        ActiveSheet.Name = T
    Else
        MsgBox "La feuille '" & T & "' existe déjà !" & vbLf & vbLf & "Supprimez l'ancienne feuille (ou renommez-là), puis réessayez...  ", vbOKOnly + vbInformation, "myDearFriend!  -  www.mdf-xlpages.com"
        Exit Sub
    End If
    'TRAITEMENT
    Application.ScreenUpdating = False
    'Crée une instance d'IE invisible
    Set IE = CreateObject("internetExplorer.Application")
    IE.Visible = False
    'Ouvre la page Web
    IE.Navigate vURL
    Do Until IE.readyState = READYSTATE_COMPLETE
        DoEvents
    Loop
    'Récupère la liste de tous les liens intéressants (sans doublon)
    Set IEDoc = IE.Document
    On Error Resume Next
    For L = 0 To IEDoc.Links.Length - 1
        T = IEDoc.Links(L)
        If T Like vURL & "?*" Then
            Col.Add T, T
        End If
    Next L
    On Error GoTo 0
    'MAJ des données
    For L = 1 To Col.Count
        T = Col(L)
        Application.StatusBar = T
        If Len(T) - Len(Replace(T, "/", "")) > 5 Then
            RecupCotes Col(L)
            SepareTitre
        Else
            T = Mid(T, InStrRev(T, "/") + 1)
            SepareTitre T
        End If
    Next L
    IE.Quit
    'Finition mise en page
    Columns("A:I").EntireColumn.AutoFit
    Range(Cells(4, 3), Cells(DernCell.Row, 9)).HorizontalAlignment = xlRight
    Application.ScreenUpdating = True
    Application.StatusBar = False
    Beep
End Sub

Function DernCell() As Range
    With ActiveSheet
        Set DernCell = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
    End With
End Function

Sub SepareTitre(Optional T As String)
Dim Plage As Range
    Set Plage = DernCell.Resize(5, 9)
    Plage.ClearContents
    Set Plage = Plage.Resize(1, 9)
    With DernCell.Resize(1, 9)
        With .Interior
            .ColorIndex = 15
            .Pattern = xlSolid
        End With
        .HorizontalAlignment = xlHAlignLeft
        .VerticalAlignment = xlVAlignCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
        With .Font
            .Bold = True
            .Name = "Verdana"
            .Size = 12
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = xlAutomatic
        End With
        .Range("B1").Value = T
    End With
End Sub

Sub RecupCotes(vURL As String)
Dim R As Range
    Set R = DernCell.Offset(1, 0)
    With ActiveSheet.QueryTables.Add(Connection:="URL;" & vURL, Destination:=R)
        .Name = "LaRequete"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebTables = "3"
        .WebFormatting = xlWebFormattingRTF
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
    'Efface l'entête
    R.Resize(3, 1).EntireRow.Delete
End Sub

En espérant que ça puisse répondre à ton besoin...

Cordialement,

Nb: je prends 5% des gains !



Pièce jointe:
zip mDF_RecupWebZEturf.zip   [ Taille: 21.13 Ko - Téléchargements: 806 ]

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Besoin d'aide
#8
Régulier XLPages

Inscription: 06/09/2010

Messages: 58

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 09-09-2010 23h20
Bonsoir Didier,

Tout d'abord je vous renouvelle mes remerciements pour vous être penché sur mes lacunes, je me suis donc empressé de tester le modèle joint. Les premières lignes de commandes s'effectuent normalement avec le lancement de internet exploreur puis l'ouverture du site, mais la macro bloque au niveau de
Do Until IE.readyState = READYSTATE_COMPLETE et plus rien ne se passe.

Est ce le fait que internet exploreur n'est pas mon navigateur (je me sers de Mozilla) ou du fait que je n'ai que la version excel 2003 et que je tourne sous Vista, étant archi nul en VBA j'avoue que je ne sais pas trop comment remédier à ce probléème.

Peux être avez vous une explication.

Vous en remerciant par avance

Cordialement

(PS pour les 5% des gains, je dis banco)
Hors Ligne
Rapport   Haut 

Re: Besoin d'aide
#9
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 10-09-2010 23h38
Bonsoir jc24, le Forum,

J'avoue que je ne vois pas trop, ça marche très bien chez moi.

Pour info, je tourne sous Vista et j'ai créé ce fichier sous XL2003,  et mon navigateur par défaut est aussi FireFox. Ce n'est donc pas ta config qui est en cause...

PISTE 1 :
Obtiens-tu un message d'erreur ? Si oui, quel est-il ?

PISTE 2 :
Si tu n'as pas de message d'erreur, c'est que quelque chose empêche la page web de se charger complètement dans IE, la connexion tourne en rond...

Dans ce cas, alors fais un test en lançant ta version d'Internet Explorer normalement et en ouvrant l'URL suivante :
http://www.zeturf.fr/fr/cotes/

Regarde si la page se charge bien complètement ou si IE charge la page mais semble tourner continuellement comme s'il manquait des éléments sur la page web à afficher (observe la petite icône qui tourne sur elle-même lors d'un chargement de page).

Précise-moi également le numéro de ta version IE.

Vérifie que tu n'aies pas un anti-popup ou anti-pub, ou bien un antivirus qui empêcherait la page de se charger normalement dans IE.

PISTE 3 :
Dans l'éditeur VBA, fais menu Outils / Références... dans la liste, vérifie qu'il n'y ait pas un élément précédé de l'expression « [Manquant] ». Si oui, précise moi le nom de l'élément en question.

Voilà, j'espère qu'on trouvera une solution...

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Besoin d'aide
#10
Régulier XLPages

Inscription: 06/09/2010

Messages: 58

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 11-09-2010 14h25
Bonjour Didier,


Hip hip hip hourra, ca y est ca marche c'est génial, je suis fou de joie, avant de t'embêter à nouveau j'ai chercher, chercher et rechercher sur le net le pourquoi du comment et je suis tombé sur un forum où tu avais répondu à ce genre de probleme en 2003, j'ai donc suivi pas à pas la procédure que tu avais indiqué a cette époque et avec l'impatience d'un gamin qui attend le père noêl j'ai redémarré mon ordi et relancé l'appli et là j'en croyais pas mes yeux , tout marche nickel et mes tableau ce sont affichés avec toutes les infos voulues.

Tu es vraiment un crack et je pèse mes mots, je galèré depuis des mois et des mois, j'y ai passé des nuits et je n'arrivais à rien et oh miracle en quelques heures tu as réussi.

Immense merci

Cordialement et je te tiens au courant de l'évolution de mon appli

Autre petite question, penses tu qu'il soit possible de faire une macro similaire pour récupérer les données des jours précédents en allant dans la rubrique archives au lieu de cotes, mais là ca parait vraiment plus compliqué puisque il faut sélectionné l'année, le mois et ensuite la date

Cordialement
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes