Bonjour,
Depuis plusieurs années, je récupère automatiquement les résultats du PMU via une macro Excel en passant par le navigateur InternetExplorer 11.
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".
Pijaku (Franck) un internaute génial et très sympathique 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.
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#15032020/R1/C1"
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 " [https://www.pmu.fr/turf/index.html#15032020/R1/C1"]
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
Bonjour,....
Merci baladur13 pour la transcription en écriture correcte.
Peut-être connais-tu pijaku ? C'est lui qui avait écrit ce programme. Et si oui, comment puis-je le contacter !!
Bonne journée
Salut yg-be...
Merci pour ta réponse... Je continue toujours le PMU avec IE (ça marche sans problème) mais je suis obligé, à chaque fois, de redéfinir IE comme navigateur par défaut car je reste sur Edge le reste du temps (de nombreux sites fonctionnent beaucoup mieux avec Edge).
J'espère toujours une solution pour récupérer le PMU via Edge
Je récupère les résultats de toutes les courses PMU de la veille l'une après l'autre.
Via Edge la macro excel bloque tout de suite à la 2ème course (sur une trentaine de courses par jour) alors que sur IE tout marche bien (jusqu'à la 30ème)
Je ne peux malheureusement que répondre la même chose que yg_be :
Je ne vois pas en quoi cette macro aurait besoin qu'IE soit le navigateur par défaut...
Je ne pourrais pas aider davantage car, ici :
1- je n'ai pas Edge,
2- je n'ai pas accès au site du pmu...