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

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

    bonne journée
    0
    1. Euh la ligne 19 ?
      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. 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
  4. Ce serait formidable et je vous en remercie par avance... (Prenez tout votre temps)

    Bonne soirée
    0
    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