Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/01/2012, 17h39   #1
Invité régulier
 
Inscription : mai 2005
Messages : 32
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 32
Points : 7
Points : 7
Par défaut VBA : comment récupérer valeur contenue dans une page web?

Bonjour,
J'aimerais en vba récupérer dans une feuille excel la valeur contenue dans une page web
code source :
<SPAN class=Montant>5,40&nbsp;€</SPAN> </A>

J'ai mis ceci en code :
Code :
1
2
3
Dim helem As IHTMLElementCollection
Set maPageHtml = IE.document
Set helem= maPageHtml.getElementsByTagName("SPAN")
Comment faire ?
pegase33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2012, 19h40   #2
Expert Confirmé Sénior
 
Avatar de Qwazerty
 
Homme Stéphane
La très haute tension :D
Inscription : avril 2002
Messages : 2 446
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Âge : 32
Localisation : France

Informations professionnelles :
Activité : La très haute tension :D
Secteur : Service public

Informations forums :
Inscription : avril 2002
Messages : 2 446
Points : 4 620
Points : 4 620
Envoyer un message via MSN à Qwazerty
Salut

Voila un début de code
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub EssaiIE()
'Déclaration des variables
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
 
'Chargement d'une page web Google
IE.Navigate "www.google.fr"
 
'Affichage de la fenêtre IE
IE.Visible = True
 
'On attend le chargement complet de la page
WaitIE IE
 
End Sub
 
 
Sub WaitIE(IE As InternetExplorer)
'On boucle tant que la page n'est pas totalement chargée
Do Until IE.ReadyState = READYSTATE_COMPLETE
    DoEvents
Loop
End Sub
Et la ligne du code source que tu nous donnes, ne nous sera d'aucun secours, elle ne contient ni ID ni Name, il faut donc passer par des moyens détournés pour la pointer.
Si tu peux, met une plus grande partie de la source de la page, ou mieux encore si tu pouvais nous donner directement l'URL mais je sais que c'est rarement possible.

++
Qwaz
__________________

MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
HammerFest
Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2012, 00h39   #3
Invité régulier
 
Inscription : mai 2005
Messages : 32
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 32
Points : 7
Points : 7
Merci bcp à Qwazerty pour m'avoir bien éclairé et donné cette solution :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub EssaiIE()
'Déclaration des variables
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim htmlProfil As HTMLGenericElement
 
'Chargement d'une page web Google
IE.Navigate "Site_Web"
 
'Affichage de la fenêtre IE
IE.Visible = True
 
'On attend le chargement complet de la page
WaitIE IE
 
'On pointe sur la page chargé dans le navigateur
Set IEDoc = IE.document
 
'On va chercher un des éléments ayant un id
Set htmlProfil = IEDoc.all("profil")
 
'Ensuite à partir de la on va chercher l'info dont on a besoin
ThisWorkbook.Sheets("Feuil1").Range("A1") = htmlProfil.all(2).innerText
 
End Sub
 
 
Sub WaitIE(IE As InternetExplorer)
'On boucle tant que la page n'est pas totalement chargée
Do Until IE.ReadyState = READYSTATE_COMPLETE
    DoEvents
Loop
End Sub
pegase33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h49.


 
 
 
 
Partenaires

Hébergement Web