Extraction données HTML sous VBA

cs_hypsos Messages postés 7 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 24 décembre 2006 - 24 déc. 2006 à 09:34
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 - 24 déc. 2006 à 21:08
Bonjour à Tous,

Je travaille en VBA depuis peu, et souhaiterais récupérer les données présentes sur une page internet (taux de change présents sur le site de la banque de FRANCE) pour mettre à jour les données présentes sur ma feuille Excel.

Pourriez vous m'indiquer la marche à suivre ?

Merci pour votre aide à tous et bonnes fêtes de fin d'année

4 réponses

LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
24 déc. 2006 à 11:05
Salut

Ta question n'est pas à sa place ici, mais bon, je vais essayer de te répondre !!

Voici le code te permettant de récupérer les derniers messages du forum postés sur ce site, et les copier à partir de la cellule A1 dans la feuille en cours :

With ActiveSheet.QueryTables.Add(Connection:= _
"URL; http://www.csharpfr.com/infomsgts_full_liste.aspx ", Destination: =Range( _
"A1"))
        .Name = "infomsgts_full_liste"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = """ctl00_Main_UCContentForum_ctl00_GridView1"""
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
End With

Bien sûr, pour récupérer tes données, il vaut mieux que tu enregistres une macro et que tu fasses la manipulation suivante :

Sous excel -> Données/Données externes/Nouvelle requête sur le Web...

Là, tu saisies l'url de la page où se situent tes données et tu coches la partir de la page à extraire.

Si tu as besoin de précisions... n'hésites pas ;)
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
24 déc. 2006 à 11:19
Question redirigée du Bar vers "Visual Basic / Langages dérivés / VBA"

<hr width="100%" size="2" />Nurgle (Antoine) - MSP
0
cs_hypsos Messages postés 7 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 24 décembre 2006
24 déc. 2006 à 13:16
Merci pour ton aide mais étant débutant en VBA, je t'avoue avoir effectivement besoin de précisions.
Peux tu me donner plus de détails pour ce que tu m'expliques, à savoir :

"Données/Données externes/Nouvelle requête sur le Web..."

l'URL de la page est "URL;http://www.banque-france.fr/fr/poli_mone/taux/html/4.htm"
Comment dans ce cas spécicifer la partie à extraire ?

Merci beaucoup


Hypsos
0
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
24 déc. 2006 à 21:08
Très bien,

quand je dis "Données/Données externes/Nouvelle requête sur le Web...", il s'agit du menu principale de la fenêtre d'Excel (là où se trouve Fichier, Edition, Affichage, etc...)

Fais déjà cette manipe, saisie ton url et tu verras que c'est tout simple !
(tu n'as même pas besoin de taper du code VBA)

Tu peux exporter les données vers une feuille nommée "Données externes" par exemple et que tu cacheras

Joyeuses fêtes ;)
0
Rejoignez-nous