VBA sur web

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. 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. 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. Quelles informations aimeriez vous retirer ?
      0
    3. 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. Ce serait formidable et je vous en remercie par avance... (Prenez tout votre temps)

    Bonne soirée
    0
    1. 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. 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
    2. Navré, mais ça bloque dès la ligne 5....
      0
      1. 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
    3. Bonjour skk201

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

      bonne journée
      0
      1. Euh la ligne 19 ?
        0