VBA sur web

dadacourse Messages postés 143 Statut Membre -  
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Sur le site du PMU, après avoir ouvert la page d'une course
https://www.pmu.fr/turf/index.html#15092014/R2/C1
je voudrais ouvrir automatiquement par une macro le lien "Rapports probables"...

Merci de vos conseils... Bonne journée

Windows 8.1, IE 11, Excel 2007

6 réponses

  1. dadacourse Messages postés 143 Statut Membre 3
     
    Bonjour skk201 et merci de votre attention

    Bien suivi le lien et passé 1 heure dessus... il semble que la solution se trouve dans cet exposé (sacré travail !!) mais cela reste trop complexe pour moi.

    L'idéal serait d'avoir l'écriture du code pour mon soucis:
    depuis la page web
    https://www.pmu.fr/turf/index.html#15092014/R2/C1
    ouvrir automatiquement par une macro le lien "Rapports probables"...

    Merci de votre aide
    Windows 8.1, IE 11, Excel 2007
    0
    1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      Je suis pas sûr de pouvoir le faire prochainement mais dès que j'ai un moment je peux le faire pour vous ;)
      0
    2. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      Quelles informations aimeriez vous retirer ?
      0
    3. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      Je dois t'avouer je n'arrive pas à récupéré le tableau. Étrangement le code ne défini pas le tableau comme je veux (il me dit que le tableau n'a que 3 lignes et n'arrive pas à extraire le contenu de ses lignes)


      Ce que je te conseil :

      Fait un nouveau poste dans la section "Programmation > VB/VBA"

      Tu peux déjà leur donner ce code qui ne fonctionne pas comme base :

      'Récupération des données.
      Sub Recuperation()
      'Créatation d'IE
      Dim IE As Object 'Internet Explorer
      Dim IEDoc As HTMLDocument 'DocumentHTML
      Dim htmlTabResultat As HTMLGenericElement ' Table HTML
      Dim htmlLigneResultat As HTMLGenericElement ' Lignes de la tale HTML
      Dim NumLigne As Byte 'Ligne d'écriture dans le tableau excel
          NumLigne = 2
      
      
      
      Set IE = CreateObject("InternetExplorer.Application") 'Définir Internet explorer
      
      IE.navigate "https://www.pmu.fr/turf/index.html#15092014/R2/C1" 'Définir la page source
      
      IE.Visible = True 'Ouverture d'IE
      
      Set IEDoc = IE.document ' Definir le document HTML
      
      Set htmlTabResultat = IEDoc.body.all("participants-view").Children(0) 'Definir le tableau
      
      MsgBox htmlTabResultat.Children.Length 'Devrai nous donner le nombre de ligne du tableau (ça ne semble pas marcher)
      
      For Each htmlLigneResultat In htmlTabResultat.Children 'Parcourir les lignes du tableau
          For c = 1 To 8
              ActiveSheet.Cells(NumLigne, c) = htmlLigneResultat.Children(1).innerText '(L'erreur apparait ici)
          Next
          NumLigne = NumLigne + 1 'Passe à la lignes suivante
      Next
      
      'Clore les variables
      IE.Quit
      Set IE = Nothing
      End Sub


      Tu leur expliques de nouveau le problème. Tu peux leur dire qu'on à utiliser ce tuto comme base.

      https://qwazerty.developpez.com/tutoriels/vba/ie-et-vba-excel/#LV-C-2-e

      mais que Excel ne défini pas le bon tableau.

      Ils en saurront plus je pense ;)
      0
  2. dadacourse Messages postés 143 Statut Membre 3
     
    Ce serait formidable et je vous en remercie par avance... (Prenez tout votre temps)

    Bonne soirée
    0
  3. dadacourse Messages postés 143 Statut Membre 3
     
    Je veux seulement ouvrir automatiquement ce tableau "Rapports probables"... ensuite je me débrouille pour récupérer les données...

    Dès demain matin (aujourd'hui je suis à la campagne avec une mauvaise connexion) , je suivrais tes instructions et te tiens informé

    Encore merci
    bonne journée
    0
    1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      A si c'est juste ça alors voilà le code :

      'Récupération des données.
      Sub Recuperation()
      'Créatation d'IE
      Dim IE As Object 'Internet Explorer
      Dim IEDoc As HTMLDocument 'DocumentHTML
      Dim boutonHtml As HTMLGenericElement ' Bouton html
      
      Set IE = CreateObject("InternetExplorer.Application") 'Définir Internet explorer
      
      IE.navigate "https://www.pmu.fr/turf/index.html#15092014/R2/C1" 'Définir la page source
      
      'IE.Visible = True 'Ouverture d'IE
      
      Set IEDoc = IE.document ' Definir le document HTML
      
      Set boutonHtml = IEDoc.body.all("stat-Button").Children(1)
      
      boutonHtml.Click
      
      IE.Visible = True
      'Clore les variables
      IE.Quit
      Set IE = Nothing
      Set IEDoc = Nothing
      Set boutonHtml = Nothing
      End Sub
      


      Je pense que c'est la fonction click qui vous manquait.
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. dadacourse Messages postés 143 Statut Membre 3
     
    Navré, mais ça bloque dès la ligne 5....
    0
    1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      A oui j'ai oublié !

      Vous devez activer 2 référances voici comment faire :

      Dans Excel :

      [ALT]+[F11]

      Dans la nouvelle fenêtre : Outils > Référances

      Dans la liste cocher "Microsoft Internet Controls" et "Microsoft HTML Object Library

      Ensuite valider.

      Apartir de ce point cela marchera dans ce classeur.
      0
  6. dadacourse Messages postés 143 Statut Membre 3
     
    Bonjour skk201

    Après activation des références, ça bloque à la ligne 19...

    bonne journée
    0
    1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      Euh la ligne 19 ?
      0