Passer de IE11 à Edge

Signaler
Messages postés
110
Date d'inscription
lundi 12 décembre 2011
Statut
Membre
Dernière intervention
6 septembre 2020
-
Messages postés
12761
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
25 octobre 2020
-
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

9 réponses

Messages postés
110
Date d'inscription
lundi 12 décembre 2011
Statut
Membre
Dernière intervention
6 septembre 2020
3
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
Messages postés
110
Date d'inscription
lundi 12 décembre 2011
Statut
Membre
Dernière intervention
6 septembre 2020
3
Bonjour le forum,... Toujours pas de réponse à ma demande du 26 mars ci-dessus. Si quelqu'un peut m'aider !!
Bonne journée

URL de départ sur EDGE: https://www.pmu.fr/turf/19072020/R1/C1
Messages postés
12761
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
25 octobre 2020
711
bonjour, je pense que le meilleur choix, pour le moment, est que Excel continue à utiliser IE.
Messages postés
110
Date d'inscription
lundi 12 décembre 2011
Statut
Membre
Dernière intervention
6 septembre 2020
3
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

Bonne journée
Messages postés
12761
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
25 octobre 2020
711
oh, le code ne fonctionne que si IE est le navigateur par défaut? je ne m'y attendais pas.
Messages postés
110
Date d'inscription
lundi 12 décembre 2011
Statut
Membre
Dernière intervention
6 septembre 2020
3
Effectivement,.... Il semble (mais je ne suis pas un spécialiste) que le script du pmu via Edge est différent du script du pmu via IE
Messages postés
12761
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
25 octobre 2020
711
ce qui ne m'explique pas pourquoi IE doit être le navigateur par défaut pour que le script fonctionne.
Messages postés
110
Date d'inscription
lundi 12 décembre 2011
Statut
Membre
Dernière intervention
6 septembre 2020
3
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)
Messages postés
12761
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
25 octobre 2020
711
je ne comprends pas "via Edge". qu'est-ce qui choisi Edge au lieu de IE?
Messages postés
6985
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
22 octobre 2020
562
Bonjour,

Peut-être connais-tu pijaku ? C'est lui qui avait écrit ce programme. Et si oui, comment puis-je le contacter !!

en privé

https://forums.commentcamarche.net/profile/user/pijaku
Messages postés
110
Date d'inscription
lundi 12 décembre 2011
Statut
Membre
Dernière intervention
6 septembre 2020
3
SUPER.... Merci beaucoup cs-Le Pivert
J'essaie de le contacter dès demain matin
Bonne soirée à toi
Messages postés
12186
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 octobre 2020
2 497
Bonjour,

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...

La seule aide que je puisse t'apporter et de te conseiller la lecture et la compréhension du tutoriel : https://qwazerty.developpez.com/tutoriels/vba/ie-et-vba-excel/

C'est là que j'ai appris le nécessaire pour ton code de base.

Les noms des balises, collections, etc, sont peut-être différents sous Edge.
A toi de les vérifier en scrutant le code source...
Messages postés
110
Date d'inscription
lundi 12 décembre 2011
Statut
Membre
Dernière intervention
6 septembre 2020
3
OK, bien compris... Je m'y attèle.
Merci pour ta réponse
Cordialement
Messages postés
12761
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
25 octobre 2020
711
penses-tu à marquer cette discussion comme résolue?