VBA Copie tableau internet (page dynamique)

  • Initiateur de la discussion Initiateur de la discussion pagwai
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pagwai

XLDnaute Nouveau
Bonjour,
Je souhaiterai savoir si quelqu'un sait comment faire pour automatiser la copie d'un tableau d'une page internet dynamique (donc pas de Requête Web) dans Excel?
Pour l'instant, avec l'aide de certain d'entre vous et pas mal de tatonnement, j'ai réussi à accéder à la page de données. Mais là, j'avoue que je ne sais pas du tout comment m'y prendre.
Voilà pour l'instant où j'en suis :
'Nécesssite d'activer les références
'Microsoft HTML Objects Library
'et
'Microsoft Internet Controls
Dim IE As InternetExplorer
Dim maPageHtml As HTMLDocument
Dim Hsel As IHTMLElementCollection, Helem As IHTMLElementCollection
Dim winShell As New ShellWindows
Dim Valeur As Date


Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True

IE.navigate "http://sitadel.application.equipement.gouv.fr/SitadelWeb/Sitadel"
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop

Set maPageHtml = IE.document
Set Hsel = maPageHtml.getElementsByTagName("select")

'Sélectionne la Hate-Garonne
Hsel(0).selectedIndex = 39

'Déclenche la fonction dans la page html
maPageHtml.parentWindow.execScript "SelectionDept();", "javascript"
Valeur = Timer 'temporisation pour le rafraichissement de la page
Do While Timer < Valeur + 2
DoEvents
Loop

Set IE = winShell(winShell.Count - 1)
Set maPageHtml = IE.document
Set Hsel = maPageHtml.getElementsByTagName("select")

'Sélectionne la commune (6eme element dans la 2eme liste)
Hsel(1).selectedIndex = 5
Valeur = Timer 'temporisation pour le rafraichissement de la page
Do While Timer < Valeur + 2
DoEvents
Loop

'déplace la commune de la liste une à la liste deux
maPageHtml.parentWindow.execScript "Deplacer(document.sitadelcom.liste_communes,document.sitadelcom.sel_communes);", "javascript"

'Sélection de l'option "Mise en chantier"
Set radio_button = IE.document.all.Item("CHOIX")
For Each rb In radio_button

If rb.Value = 1 Then
rb.Checked = False
rb.Value = 2
End If

If rb.Value = 2 Then
rb.Checked = True
End If
Next rb

'Envoyer
maPageHtml.parentWindow.execScript "Before_Submit();", "javascript"

En plus, je souhaite copier les trois tableaux...

Merci par avance!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
947
  • Question Question
Microsoft 365 Probleme de code
Réponses
0
Affichages
434
Réponses
12
Affichages
855
Réponses
8
Affichages
906
Retour