IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

VBA : comment récupérer valeur contenue dans une page web? [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mai 2005
    Messages : 44
    Points : 34
    Points
    34
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim helem As IHTMLElementCollection
    Set maPageHtml = IE.document
    Set helem= maPageHtml.getElementsByTagName("SPAN")
    Comment faire ?

  2. #2
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 906
    Points : 8 539
    Points
    8 539
    Par défaut
    Salut

    Voila un début de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mai 2005
    Messages : 44
    Points : 34
    Points
    34
    Par défaut
    Merci bcp à Qwazerty pour m'avoir bien éclairé et donné cette solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. activer avec vba un lien hypertexte contenu dans une page html
    Par epaminondas dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/05/2008, 10h55
  2. Réponses: 7
    Dernier message: 14/04/2007, 17h25
  3. [Sécurité] comment récupérer le subject dans une page jsp?
    Par lalakers dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 13/07/2005, 11h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo