[VBA] Faire une recherche dans le code source d'une page web

mra

XLDnaute Nouveau
Bonjour,

J'aurais besoin de vos lumières car je sèche sur quelques lignes de code :
- J'ai un fichier excel dans lequel je colle des liens d'autres fichiers excel issus de l'intranet afin de pouvoir les télécharger dans un fichier local.
- Ce que je souhaiterai faire, c'est automatiser la collecte de ces liens.
- Pour ce faire j'ai commencé un code qui cherche le code source d'un site pour en extraire tous les liens avec "xslm" par exemple.
Le problème c'est que j'obtiens ce code source via objDoc.body.innerHTML, je ne sais pas si je peux directement faire une recherche à partir de ceci. J'ai essayé de coller le contenu dans excel, mais c'est trop grand pour une cellule, idem pour un fichier texte temporaire.
Je joins un bout de code :

Code:
Public Sub Gethtml()

dim txt
Dim dest, sourcecode As String
Dim IE As Object, objDoc As Object
Dim myURL As String

'l'url du site intranet, mais peu importe le site
myURL = Range("B1").Value


Set IE = CreateObject("internetexplorer.application")
IE.navigate myURL

'Wait for page to load!
Do
If IE.readyState = 4 Then
IE.Visible = False
Exit Do
Else
DoEvents
End If
Loop

Set objDoc = IE.document

'destination du fichier txt temporaire
dest = "D:\Shared\test\temp.txt"

'Html
Set fsys = CreateObject("Scripting.FileSystemObject")
Set txt = fsys.CreateTextFile(dest)
filecode = FreeFile

sourcecode=objDoc.body.innerHTML

'Ouverture fichier txt temporaire pour copie donnees
Open dest For Output As filecode
Print #filecode, sourcecode
Close #filecode

'reste a faire l'argument de recherche mais avant ça, je dois pouvoir exploiter le code source..

'copie du code source vers une cellule (juste pour test)
'Sheets("Source").Range("A1").Value = objDoc.body.innerHTML


Set objDoc = Nothing
Set IE = Nothing

End Sub

Mon code est loin d'etre optimisé parce que j'ai pas mal bidouillé en cherchant des solutions alternatives comme avec sendkeys par exemple, que j'ai enlevés par la suite.

Quelqu'un a-t-il une idée?
Merci.
 

Discussions similaires

Réponses
2
Affichages
99
Réponses
0
Affichages
243

Statistiques des forums

Discussions
311 740
Messages
2 082 047
Membres
101 880
dernier inscrit
Anton_2024