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 des valeurs sur une page web


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2007
    Messages : 65
    Points : 37
    Points
    37
    Par défaut récupérer des valeurs sur une page web
    salut tout le monde

    je cherche à extraire une valeur d'une page web vers une base de donnée
    je cherche à modifié les champs d'une colonne automatiquement par des valeurs actualisées sur une pages web.
    je suppose que c'est fesable mais le problème est comment interconnecter deux environnement différant pour actualiser les valeurs de la base depuis Internet

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Une piste à adapter.

    Ci-dessous un exemple avec lequel je récupère différentes valeurs d'une page web
    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
    Sub recup_html()
    Dim PageWeb As Workbook, Wsh As Worksheet, C As Range, ChercheVal(1 To 4) As String, i As Byte, DerL As Integer
    Application.ScreenUpdating = False
     
    ChercheVal(1) = "Bel-20"
    ChercheVal(2) = "Dow Jones"
    ChercheVal(3) = "Nasdaq"
    ChercheVal(4) = "EUR/USD"
     
    Set Wsh = ThisWorkbook.Sheets(1)
    Set PageWeb = Workbooks.Open("http://www.lecho.be/home")
     
    Set C = PageWeb.Sheets(1).Cells.Find(what:="update", lookat:=xlPart)
        If Not C Is Nothing Then
            Wsh.Cells(Rows.Count, 1).End(xlUp).Offset(2, 0) = C.Text
        End If
     
    For i = 1 To 4
    DerL = Wsh.Cells(Rows.Count, 1).End(xlUp).Row + 1
        Set C = PageWeb.Sheets(1).Cells.Find(what:=ChercheVal(i), lookat:=xlWhole)
            If Not C Is Nothing Then
                Wsh.Cells(DerL, 1) = C.Text
                Wsh.Cells(DerL, 2) = C.Offset(0, 1).Text
                Wsh.Cells(DerL, 3) = C.Offset(0, 2).Text
            End If
    Next
     
    PageWeb.Close False
    Set PageWeb = Nothing
    Set Wsh = Nothing
    Set C = Nothing
     
    Application.ScreenUpdating = True
    End Sub

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    Bonjour,


    Une autre solution pourrait consister à récupérer les données directement sur la page Web


    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
    36
    37
    38
    39
    40
    Sub Importer_tableauPageWeb()
        'Nécessite d'activer les références:
            'Microsoft HTML Objects Library
            'et
            'Microsoft Internet Controls
        Dim IE As InternetExplorer
        Dim maPageHtml As HTMLDocument
        Dim Htable As IHTMLElementCollection
        Dim maTable As IHTMLTable
        Dim j As Integer, i As Integer
     
        Set IE = CreateObject("InternetExplorer.Application")
        IE.Visible = True
     
     
        IE.navigate "http://www.mapageperso.html"
            'Attend la fin du chargement pour continuer la procédure
            Do Until IE.readyState = READYSTATE_COMPLETE
            DoEvents
        Loop
     
        Set maPageHtml = IE.document
        'objet type table
        Set Htable = maPageHtml.getElementsByTagName("table")
        'premier tableau dans la page Web
        Set maTable = Htable(0)
     
        'boucle sur toutes les lignes du tableau
        For i = 1 To maTable.Rows.Length
            'boucle sur les cellules dans chaque ligne
            For j = 1 To maTable.Rows(i - 1).Cells.Length
                'Transfert les données dans la feuille de calcul
                Cells(i, j) = maTable.Rows(i - 1).Cells(j - 1).innerText
            Next j
        Next i
     
        IE.Quit
        Set IE = Nothing
     
    End Sub



    Tu peux également utiliser la fonction d'importation des données externes.



    bonne journée
    michel

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2007
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    merci pour les réponses,
    je n'ai pas d'expérience de programmation dans cette environnement.
    je cherche alors un tutoriel ou une formation, pouvez vous me fournir un lien qui m'initialise pour l'environnement ou je taperai le code.

  5. #5
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Tu peux télécharger ce tutoriel

    Support de cours complet pour le VBA d'Excel
    .

  6. #6
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2007
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    c'est bien claire merci fring

    le code que tu m'a présenté ajoute la date à la fin du tableau,

    pour mon application j'ai besoin d'introduire une valeur de la page web dans une cellule bien spécifique EX: "D10".

Discussions similaires

  1. [Débutant] Récupérer des informations sur une page web
    Par Jules24 dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 24/04/2012, 10h55
  2. Récupérer des valeurs dans une page WEB
    Par megamario dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/09/2011, 14h05
  3. Obtenir des infos sur une page web en ligne
    Par Logan_Cale dans le forum Web & réseau
    Réponses: 1
    Dernier message: 20/08/2005, 15h36

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