Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Chargement page HTML en code source

2 réponses
Avatar
Dominique Ma
Bonjour à Tous

Je voudrais accéder de manière automatique à une page WEB et récupérer non
seulement la partie HTML (ce que je fais couramment), mais le code
javascript qui contient des données que j'utilise.
Manuellement je procède ainsi:
1 j'ouvre la page dans l'explorateur
2 j'affiche le code source dans le Bloc Note
3 j'enregistre le code source en fichier txt
4 je lance VBA qui traite le fichier txt

Merci d'avance à ceux qui auront la gentillesse de me répondre

Dominique

2 réponses

Avatar
JB
Bonjour,

Sub Tout()
[A1].Select
Open "essai.htm" For Input As #1
Do While Not EOF(1)
Line Input #1, ligne
ActiveCell = ligne
ActiveCell.Offset(1, 0).Select
Loop
Close #1
End Sub

Sub Script()
[A1].Select
Open "essai.htm" For Input As #1
Do While Not EOF(1)
Line Input #1, ligne
If InStr(UCase(ligne), "<SCRIPT") Then
témoin = True
End If
If InStr(UCase(ligne), "</SCRIPT") Then
témoin = False
End If
If témoin = True Then
ActiveCell = ligne
ActiveCell.Offset(1, 0).Select
End If
Loop
Close #1
End Sub

Cordialement JB
Avatar
Dominique Ma
Merci JB mais...
J'ai un problème avec la lecture de la page WEB:

Quand je veux récupérer une page web, je crée une query table:

With Sheets(1).QueryTables.Add(Connection:="URL;http://www.site.page.htm",
Destination:Îlls (1,1))
.FieldNames = False
.RefreshStyle = xlOverwriteCells
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = False
.BackgroundQuery = False
.TablesOnlyFromHTML = True
.SavePassword = False
.SaveData = False
.PostText = "champ1=valeur1&champ2=valeur2"
.Refresh BackgroundQuery:úlse
End With

Auquel cas, je n'ai pas le script, mais seulement le html

Si j'essaye comme tu sembles l'indiquer d'accéder par:

Open "www.site.page.htm?champ1=valeur1&champ2=valeur2" For Input As #1

J'obtiens une erreur 76 "Chemin d'accès introuvable"

Cordialement
Dominique



"JB" a écrit dans le message de
news:
Bonjour,

Sub Tout()
[A1].Select
Open "essai.htm" For Input As #1
Do While Not EOF(1)
Line Input #1, ligne
ActiveCell = ligne
ActiveCell.Offset(1, 0).Select
Loop
Close #1
End Sub

Sub Script()
[A1].Select
Open "essai.htm" For Input As #1
Do While Not EOF(1)
Line Input #1, ligne
If InStr(UCase(ligne), "<SCRIPT") Then
témoin = True
End If
If InStr(UCase(ligne), "</SCRIPT") Then
témoin = False
End If
If témoin = True Then
ActiveCell = ligne
ActiveCell.Offset(1, 0).Select
End If
Loop
Close #1
End Sub

Cordialement JB