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 :

Récupérer du WEB "texte" depuis VBA Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Par défaut Récupérer du WEB "texte" depuis VBA Excel
    Bonjour,

    Je cherche à récupérer les infos météo depuis un site Web (http://www.wunderground.com/weathers...&graphspan=day & month=10 & day=" & Date_fin + i & "& year=2013") : c'est ok pour la partie HTML avec vos exemples sur le site mais je bute sur une page "texte" retournée par ce site Web pour les jours passés : (lien = "http://static.meteo-paris.com/station/NOAAMO.TXT")
    Çà devrait être plus simple puisque c'est du texte ...
    Si l'un de vous peut m'aiguiller ...
    Merci pour vos retours.

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    merci de présenter clairement & exhaustivement le besoin !

    Lire le fichier texte en mémoire comme une page web, le télécharger sur le disque dur ou bien what else ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Par défaut
    Oupss j'étais un peu trop dans mon univers !
    Le but est de lire cette page depuis VBA : http://static.meteo-paris.com/station/NOAAMO.TXT => placer le retour dans un "objet" afin de récupérer les informations pour les "coller" dans une feuille Excel.
    J'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim IE As New InternetExplorer
    Dim IEDoc As HTMLDocument ...
    mais la page n'étant pas vraiment en HTML mais en Texte je n'arrive pas à retrouver les informations de cette page.
    Merci.

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Oui, un peu dans les nuages ! …

    Voici une approche avec la librairie Microsoft XML :
    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
    34
    35
    '   Menu Outils, Références :  cocher Microsoft XML, v3.0
     
    Private Declare Function InternetCheckConnectionA Lib "Wininet" (ByVal Site$, ByVal one&, _
                                                                     ByVal zero&) As Boolean
     
    Function WebOK(Optional ByVal URL$ = "http://www.msn.com") As Boolean
                P& = InStr(8, URL, "/"):  If P Then URL = Left$(URL, P)
             WebOK = InternetCheckConnectionA(URL, 1, 0)
    End Function
     
     
    Function WebText$(SOURCE$, Optional START$)
         Dim oXhttp As New MSXML2.XMLHTTP
         If WebOK(SOURCE) = False Then Exit Function
         oXhttp.Open "POST", SOURCE, False
         oXhttp.send
     
         If oXhttp.Status = 200 Then
             T$ = oXhttp.responseText
     
             If START > "" Then
                 S& = InStr(T, START)
                 If S Then T = Mid$(T, S) Else T = ""
             End If
     
             WebText = T
         End If
     
         Set oXhttp = Nothing
    End Function
     
     
    Sub Demo()
        Debug.Print WebText("http://static.meteo-paris.com/station/NOAAMO.TXT")
    End Sub

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …


    __________________________________________________________________________________________
    Des chercheurs qui cherchent, on en trouve. Des chercheurs qui trouvent, on en cherche ! (Charles De Gaulle)

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu
    Bonjour

    regarde dans les contributions deux de mes exemplaires code source internet et getclassename

    tu auras ta solution

    au Plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Par défaut [résolu] WEB et Excel
    Merci à tous les deux.

    J'ai fini par trouver une solution vraiment pas très belle mais qui marche : dans la variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IEDoc.DocumentElement.all.Item(2).all.Item(0).FirstChild.Data
    Celle de Marc-L est celle que je cherchais hier mais il me manquait la librairie (et en plus elle marche !).
    Patrick je n'ai pas trouvé (encore) tes contributions correspondantes.
    merci encore à tous les 2 pour vos réponses.

    JM

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

Discussions similaires

  1. [AC-2003] Transfert Fichier Texte dans ACCESS depuis vba Excel
    Par pio_killer dans le forum VBA Access
    Réponses: 17
    Dernier message: 17/11/2009, 12h49

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