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 données web dans une cellule excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 54
    Points : 21
    Points
    21
    Par défaut Récupérer données web dans une cellule excel
    Bonjour,

    Je bute sur le code ci-dessous, je cherche à récupérer les données météo de ce site dans une cellule excel:

    Metar value = EBBR

    exemple: "EBBR 031720Z 14013KT 9999 -RA FEW015 06/05 Q0993 TEMPO 4000 RA"


    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
    Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Row = Range("METAR").Row and_
     Target.Column = Range("METAR").Column Then
     Dim IE As New InternetExplorer
     'IE.Visible = True
     IE.Navigate "https://www.aviationweather.gov/metar/data?ids=" & Range("METAR").Value
     Do
     DoEvents
     Loop Until IE.readyState = READYSTATE_COMPLETE
     Dim Doc As HTMLDocument
     Setdoc = IE.document
     Dim sCODE As String
     sCODE = Trim(Doc.getElementsByTagName("code").innerText)
     IE.Quit
     Dim aCODE As Variant
     aCODE = Split(sCODE, ",")
     Range("RESULTS").Value = aCODE
     End If
     End Sub
    Par avance merci, si vous avez un code plus simple je suis preneur aussi.

  2. #2
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    Bonjour,
    As-tu une URL complète pour ce site afin de regarder?

    A quoi correspond ta ?

    C'est quoi que çà???
    Metar value = EBBR

    exemple: "EBBR 031720Z 14013KT 9999 -RA FEW015 06/05 Q0993 TEMPO 4000 RA"
    Dans ton code il y a une chose qui ne semble bizarre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim aCODE As Variant
     aCODE = Split(sCODE, ",")
     Range("RESULTS").Value = aCODE
    Un split renvoit un tableau, mais à quoi correspond ta seb

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 54
    Points : 21
    Points
    21
    Par défaut
    Bonjour Seb, merci d'avoir répondu et meilleurs vœux, en effet c'est un code que j'ai récupéré sur le net et que j'ai essayé d'adapter.... je cherche à récupérer des données météo sur le site suivant:
    https://www.aviationweather.gov
    une fois sur le site il faut aller dans "metars"
    ensuite dans la case "IDs" en bas taper le code d'un aéroport exemple "EBBR" et clicker sur "get metar data" , on arrive sur la page qui m'intéresse c'est à dire récupérer toute la ligne qui commence par EBBR dans une cellule excel...voilà tu sais tout maintenant 😀
    Merci encore

  4. #4
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    Re,

    Ta demande n'ai plus forcément la même que celle du départ, car en gros il faut ouvrir la page web (IE) avec ce type d'adresse:
    https://www.aviationweather.gov/meta...date=0&hours=0
    comme dans ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'IE.Visible = True
     IE.Navigate "https://www.aviationweather.gov/metar/data?ids=" & Range("METAR").Value
    Par contre tu n'a pas répondu à mes questions
    C'est quoi dans ta range??? c'est un tableau ??? car dans ton code il y a un row et une column
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Target.Row = Range("METAR").Row And Target.Column = Range("METAR").Column
    C'est un workbook change??? pourquoi???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Worksheet_Change(ByVal Target As Range)
    Revenons à l'URL:
    comment renseignes-tu cela?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ids=EBBR&format=raw&date=0&hours=0
    et çà c quoi, à quoi ça correspond??
    seb

  5. #5
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 54
    Points : 21
    Points
    21
    Par défaut
    En fait "Range metar" correspond à une cellule que j'ai renommé j'aurais pu aussi mettre Range A1 par exemple .... pour " Range Result" j'ai fait pareil aussi....
    Concernant le code lui même je l'ai récupéré sur le net et j'ai essayé de l'adapter, si tu as un autre code à me proposer je suis preneur, merci.

    Le "Range metar" correspond à la cellule où je marque le code de l'aéroport "EBBR"
    Et le "Range Result " si le code marche 😀 c'est la cellule où je dois avoir normalement mes données récupérées du site...

  6. #6
    Expert éminent sénior
    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
    Points : 18 674
    Points
    18 674
    Par défaut Bonjour, bonjour !




    Il y a déjà eu une demande en avril 2013 de "METAR" sur ce forum réglée via un objet QueryTable …




    ______________________________________________________________________________________________________
    Je suis Paris, Charlie, …

  7. #7
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 54
    Points : 21
    Points
    21
    Par défaut
    Bonjour Marc, je suis novice dans ce domaine et je suis à la recherche d'un code applicable au site cité plus haut.. Merci

  8. #8
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Points : 10 166
    Points
    10 166
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par Muret31 Voir le message
    Bonjour Marc, je suis novice dans ce domaine et je suis à la recherche d'un code applicable au site cité plus haut.. Merci
    Là, le problème sort des cadres du forum:

    http://club.developpez.com/regles/#LIV-N

Discussions similaires

  1. [XL-2013] Inserer une donnée dans une cellule excel a partir du web
    Par metalbarzotti dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 23/01/2015, 19h30
  2. [XL-2013] Inserer une donnée dans une cellule excel a partir du web
    Par metalbarzotti dans le forum Excel
    Réponses: 2
    Dernier message: 13/01/2015, 17h20
  3. Recuperer une donnée dans une cellule Excel pour l'exploiter
    Par Tinien dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/10/2008, 22h29
  4. Réponses: 1
    Dernier message: 15/09/2008, 10h21
  5. Remplacer un texte dans une cellule Excel à partir d'un point donné
    Par tonyC dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/04/2006, 19h05

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