Récupération de données du site PMU

Fermé
dadacourse Messages postés 128 Date d'inscription lundi 12 décembre 2011 Statut Membre Dernière intervention 5 mars 2023 - Modifié le 27 mai 2019 à 19:21
dadacourse Messages postés 128 Date d'inscription lundi 12 décembre 2011 Statut Membre Dernière intervention 5 mars 2023 - 5 juin 2019 à 06:04
Bonjour,
Depuis plusieurs années, je récupère automatiquement les résultats du PMU via une macro Excel en passant par mon navigateur IE11.
Ce programme ouvre chaque course l'une après l'autre, en ouvrant pour chacune le "Tableau des partants" puis les "rapports probables" et enfin "Afficher tous les rapports".
Un internaute génial et très sympathique (j'ai oublié son pseudo et m'en excuse auprès de lui) m'avait écrit un programme pour Excel (ci-après la copie).
Aujourd'hui, je voudrais changer de navigateur, Microsoft Edge ou Google Chrome (au choix de celui qui voudra bien m'aider) , donc réécrire un programme adapté… ce dont je suis incapable.

D'avance je vous remercie de toute aide.

**Modifié par la modération pour une lecture plus facile du code, à l'avenir utilisez les balises, VOIR CETTE PAGE
Sub TousLesRapports()
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim coll_Li As IHTMLElementCollection
Dim Li As HTMLGenericElement

'ouverture de la page Internet Explorer
IE.navigate "https://www.pmu.fr/turf/index.html#19032015/R1/C3"
IE.Visible = True
'attente du chargement complet de la page IE
WaitIE IE
Application.Wait Time + TimeSerial(0, 0, 2)
'on cible le document de cette page
Set IEDoc = IE.document
'attente du chargement complet de l'élément Document de la page IE
WaitDoc IEDoc
Application.Wait Time + TimeSerial(0, 0, 2)
'on créé notre collection contenant toutes les balises <li>
Set coll_Li = IEDoc.getElementsByTagName("li")
'on boucle sur toutes les balises <li> de notre collection
For Each Li In coll_Li
    'Si la className de la balise <li> est "actionbar-item js-all-report-button"
    If Li.className = "pari-list-item pari-list-item--all js-all-report-button" Then
        'on clique
        Li.Click
        'on quitte
        Exit For
    End If
Next
End Sub
------------------------------------------------------------------------------------------------------
Sub WaitIE(IE As InternetExplorer)
'attente du chargement complet de la page IE
   Do Until IE.ReadyState = READYSTATE_COMPLETE
      DoEvents
   Loop
End Sub
---------------------------------------------------------------------------------------------------
Sub WaitDoc(doc As HTMLDocument)
'attente du chargement complet de l'élément Document
  Do While Not doc.ReadyState = "complete"
    DoEvents
  Loop
End Sub
--------------------------------------------------------------------------------------------------
Sub TousLesRapports02()
'
' TousLesRapports02 Macro
'

'
    Sheets("01 (2)").Select
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim coll_Li As IHTMLElementCollection
Dim Li As HTMLGenericElement

'ouverture de la page Internet Explorer
IE.navigate "" & [AM13].Value
IE.Visible = True
'attente du chargement complet de la page IE
WaitIE IE
Application.Wait Time + TimeSerial(0, 0, 2)
'on cible le document de cette page
Set IEDoc = IE.document
'attente du chargement complet de l'élément Document de la page IE
WaitDoc IEDoc
Application.Wait Time + TimeSerial(0, 0, 2)

'on créé notre collection contenant toutes les balises <li>
Set coll_Li = IEDoc.getElementsByTagName("li")
'on boucle sur toutes les balises <li> de notre collection
For Each Li In coll_Li
    'Si la className de la balise <li> est "actionbar-item js-all-report-button"
    If Li.className = "partants actif visible" Then
        'on clique
        Li.Click
        'on quitte
        Exit For
    End If
Next

'on créé notre collection contenant toutes les balises <li>
Set coll_i = IEDoc.getElementsByTagName("i")
'on boucle sur toutes les balises <li> de notre collection
For Each i In coll_i
    'Si la className de la balise <li> est "actionbar-item js-all-report-button"
    If i.className = "icon icon-rapports-probables" Then
        'on clique
        i.Click
        'on quitte
        Exit For
    End If
Next

'on créé notre collection contenant toutes les balises <li>
Set coll_Li = IEDoc.getElementsByTagName("li")
'on boucle sur toutes les balises <li> de notre collection
For Each Li In coll_Li
    'Si la className de la balise <li> est "actionbar-item js-all-report-button"
    If Li.className = "pari-list-item pari-list-item--all js-all-report-button" Then
        'on clique
        Li.Click
        'on quitte
        Exit For
    End If
Next

Set IE = Nothing
Application.Wait Time + TimeSerial(0, 0, 3)
Application.SendKeys "^a"
    Application.Wait Now + TimeValue("00:00:01")
    Application.SendKeys "^c"
    Application.Wait Now + TimeValue("00:00:01")
    Application.SendKeys "^w"
    Windows("Récup Web.xlsm").Activate
    Sheets("01 (2)").Select
    Range("" & [AM12].Value).Select
    ActiveSheet.Paste
End Sub
A voir également:

3 réponses

dadacourse Messages postés 128 Date d'inscription lundi 12 décembre 2011 Statut Membre Dernière intervention 5 mars 2023 3
28 mai 2019 à 06:41
Merci à la modération, notamment à bazfile, pour avoir rendu la lecture plus facile du code… Bonne journée à tous
0
dadacourse Messages postés 128 Date d'inscription lundi 12 décembre 2011 Statut Membre Dernière intervention 5 mars 2023 3
3 juin 2019 à 06:31
Bonjour à tous,
7 jours déjà que ma demande d'aide pour un changement de navigateur est "postée" et toujours aucune réponse…. AU SECOURS !!
Par avance un grand merci
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
3 juin 2019 à 11:21
Bonjour,

Un internaute génial et très sympathique (j'ai oublié son pseudo et m'en excuse auprès de lui) m'avait écrit un programme pour Excel (ci-après la copie).

voilà ton internaute génial et très sympathique , tu peux peut-être le contacter sur MP

https://forums.commentcamarche.net/forum/affich-31328488-vba-excel-clic-sur-bouton-page-internet-explorer


pour retrouver tous tes post, cliques sur la date en haut à gauche sous le titre à droite de datacourse

0
dadacourse Messages postés 128 Date d'inscription lundi 12 décembre 2011 Statut Membre Dernière intervention 5 mars 2023 3
5 juin 2019 à 06:04
Merci… J'ai retrouvé son pseudo : PIJAKU
0