VBA sur web

dadacourse Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   -  
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
A voir également:

6 réponses

skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
Bonjour,

je pense que ça pourrai vous être utile.

https://qwazerty.developpez.com/tutoriels/vba/ie-et-vba-excel/

Bonne journée
0
dadacourse Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   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
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
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
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
Quelles informations aimeriez vous retirer ?
0
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
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
dadacourse Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   3
 
Ce serait formidable et je vous en remercie par avance... (Prenez tout votre temps)

Bonne soirée
0
dadacourse Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   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
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dadacourse Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   3
 
Navré, mais ça bloque dès la ligne 5....
0
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
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
dadacourse Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   3
 
Bonjour skk201

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

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