Récupérer un URL
Bonsoir à tous,
Je désirerai récupérer sur un site internet des données .
Sur ce site, on change de page, mais l'adresse qui s'affiche est toujours la même.
Dans la dernière page une donnée doit être saisie ( exemple cellule. I4 = Bordeaux)
Les données affichées doivent être récupérées en I5: K50
Une aide me serait fort utile
Amitiés à tous
Annette
Ci joint l'exemple réel
Bonjour an.pi,
si tu n'as pas encore trouvé de réponse, le lien que tu cherches est le suivant:
Bonne soirée
Bonsoir Math,
J'aurai d'autres adresses du même type à récupérer.
Quelle procédure as tu utilisée pour récupérer l'adresse?
D'autre part peut on renseigner le paramétre "ville" (cellule excel) dans l'adresse pour arriver directement sur la liste désirée?
Merci d'avance
Annette
Bonsoir an.pi,
pour récupérer le bon url j'ai regardé dans le code du menu de la page. Le menu est géré en javascript, c'est pour ça qu'on ne voit pas d'url.
j'ai commencé un petit code pour entrer du texte dans le textbox et valider le formulaire de la page web.
https://www.excel-pratique.com/~files/doc2/TestInternet.xls
j'ai trouvé un bout de code pour récupérer les infos dans le tableau. Mais je bloque sur le fait que les infos s'affiche dans une nouvelle page web. Il faudrait faire référence à cette nouvelle page, si quelqu'un sait comment...
tu peux aller voir sur ce fil
https://www.excel-pratique.com/forum/viewtopic.php?t=10790
ou on avait traiter d'un problème similaire.
Bonne nuit à demain
Bonjour Math
Merci Math pour ces informations, je ne vois pas encore comment récupérer les données de la feuille clubs de la ville entrée dans une cellule excel. J vais chercher .
A bientôt sur ce site
Annette
bonjour,
j'avais trouvé ce code qui marchait mais ça me donnait seulement le texte de la page de recherche et non celle de la nouvelle page résultat... c'est la que je bloquais
Sub Importer_tableauPageWeb()
'Nécessite d 'activer les references
'Microsoft HTML Objects Library
'et
'Microsoft Internet Controls
Dim IE As InternetExplorer
Dim maPageHtml As HTMLDocument
Dim Htable As IHTMLElementCollection
Dim maTable As IHTMLTable
Dim j As Integer, i As Integer
...
Set maPageHtml = IE.document
'objet type table
Set Htable = maPageHtml.getElementsByTagName("table")
'premier tableau dans la page Web
Set maTable = Htable(0)
'boucle sur toutes les lignes du tableau
For i = 1 To maTable.Rows.Length
'boucle sur les cellules dans chaque ligne
For j = 1 To maTable.Rows(i - 1).Cells.Length
Cells(i, j) = maTable.Rows(i - 1).Cells(j - 1).innerText
Next j
Next i
End Subbonjour,
ça me donnait seulement le texte de la page de recherche et non celle de la nouvelle page résultat
Il faut ajouter un timer pour s'assurer que la page de résultat soit chargée et ensuite récupérer la nouvelle page
'Nécesssite d'activer les references
'Microsoft HTML Objects Library
'et
'Microsoft Internet Controls
Dim IE As InternetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection
Dim winShell As New ShellWindows
Dim Valeur As Date
'---transfert données Excel dans les champs d'une page web ----
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.navigate "http://www.mapage.html"
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
Set maPageHtml = IE.document
Set Helem = maPageHtml.getElementsByTagName("input")
With Helem
.Item(19).innerText = Range("A1") 'Nom
.Item(20).innerText = Range("A2") 'Adresse
.Item(21).innerText = Range("A3") 'Localité
.Item(22).innerText = Range("A4") 'Region
End With
'Déclenche bouton
Helem(23).Click
'temporisation pour le rafraichissement de la page
Valeur = Timer
Do While Timer < Valeur + 2
DoEvents
Loop
'----------------------
'----- récupére les infos de page web resultat ----
Set IE = winShell(winShell.Count - 1)
Debug.Print IE.document.DocumentElement.innerText
DoEvents
Set IE = Nothingbonne soirée
michel
Merci de ta réponse Michel mais ça ne fonctionne toujours pas... Le problème est que lorsqu'on clique sur le bouton, les résultats s'affichent dans une fenêtre en popup. Il faudrait faire référence à cette nouvelle fenêtre et ensuite extraite les données. Et c'est le que je bloque.