Bonjour à tous,
J'aime le nouveau design du site.
En fait, j'aimerai extraire les paragraphes et les titres d'un document web dans une seule colonne.
En debug.print ça marche mais quand j'assigne un FEUILLE Excel et cellule. Erreur 424 quant j'exécute le code.
Je cherche à ne pas extraire les textes entre la balise <p><em>... </p> dans la "class = listicle-page"
Et ne pas extraire le dernier paragraphe ou le dernier paragraphe <p><strong>... </p>.
(Je ne maitrise pas l'utilisation des "index" et bien d'autres sur le sujet )
Ci-dessous le code que j'ai essayé et un fichier test dans lequel j'ai mis les résultats voulus de l'extraction.
Private Sub ExtractionParagraphe()
Dim oXMLPage As Object
Dim aHTML As Object
Dim sURL As String
Dim i As Integer
Dim j As Integer
Dim div As Object
Dim ptext As Object
Set oXMLPage = CreateObject("MSXML2.ServerXMLHTTP")
Set aHTML = CreateObject("htmlfile")
sURL = "http://www.readersdigest.ca/health/conditions/6-ways-soothe-foot-pain/view-all/"
oXMLPage.Open "GET", sURL, False
oXMLPage.send
aHTML.body.innerHTML = oXMLPage.responseText
Set oXMLPage = Nothing
Set div = aHTML.getElementsByTagName("div")
For Each ptext In div
If ptext.className = "listicle-page" Then
i = 1
For Each h In ptext.getElementsByTagName("h2")
'Debug.Print h.innerText
Sheets("Feuil1").Cells("A" & i + 1).Value = h(0).innerText
j = 1
For Each p In ptext.getElementsByTagName("p")
'Debug.Print p.innerText
Sheets("Feuil1").Cells("A" & j + 1).Value = p(0).innerText
Next p
i = i + 1
Next h
j = j + 1
End If
Next ptext
End Sub
Merci d'avance.
Cdt