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 :

Recuperation valeur code source HTML


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Mars 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Recuperation valeur code source HTML
    Bonjour,

    Après une longue recherche, je vous demande un petit coup de main.

    Le but est de récupérer une donnée d'un code source HTML.

    Cette donnée est situé à la ligne 192 de ce fameux code source.

    La ligne 192 se présente ainsi :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <td class="itemFont">11743</td>

    La donnée que je veux récupérer dans une cellule Excel est le "11473".

    Voici une macro que j'ai récupéré (aucun mérite ), cependant elle me récupère l'ensemble du code source :

    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 test()
     
    Dim sht As Worksheet             ' la feuille de rapatriement
    Dim url As String                 ' l'adresse url (internet ou locale)
     
    ' le fichier rapatrié est le fichier bookmarks.html, présent sur mon bureau Windows
    url = "http://10.10.1.208/hp/device/info_configuration.htm"
    Set sht = Sheets("feuil1")
    ' attention : la manip suivante efface toutes les données présentes sur la feuille temp
    ' (moyen efficace pour tout réinitialiser)
    sht.Cells.Clear
    ' la procédure de rapatriement proprement dite
    With sht.QueryTables.Add("URL;" & url & "", sht.Range("A1"))
      'sht.range("A1") = cellule cible où doit être rapatrié le tableau html
    .RefreshStyle = Excel.XlCellInsertionMode.xlInsertDeleteCells
    .SaveData = True
    .Refresh BackgroundQuery:=False
    End With
    ' manipulations pour une meilleure présentation
    sht.Cells.MergeCells = False         'supprime toutes les celules fusionnées dans la feuille
    sht.Cells.EntireColumn.AutoFit        'adapte la largeur des colonnes au contenu des cellules
     
    End Sub

    Donc comment faire pour récupérer seulement la valeur qui m'interesse ?

    Merci d'avance.

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Mars 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut test url ou ip
    Alors, j'ai fini par trouver une solution (là voici), cependant, j'ai un autre petit souci.

    Dans ma boucle, avant de lancer mon traitement, je voudrais tester la validité de mon URL, où mieux encore, vérifier que mon adresse ip réponde au "PING" ???

    Si vous avez des infos, je suis preneur.

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    Sub test()
     
    Dim sht As Worksheet
    Dim url As String
    Dim nb_imp As String
    Dim ip As String
    Dim ligne As Integer
    Dim valeur1 As String
    Dim valeur2 As String
    Dim valeur3 As String
     
    ligne = 1
    nb_imp = [CountA(Feuil2!A1:A200)]
     
        For ligne = 1 To nb_imp
                ip = (Sheets("Feuil2").Range("A" & ligne).Value)
     
                'fichier rapatrié
                url = "http://" & ip & "/hp/device/info_configuration.htm"
     
                    Set sht = Sheets("feuil1")
                    'la manip suivante efface toutes les données présentes sur la feuille feuil1
                    sht.Cells.Clear
     
                    ' la procédure de rapatriement proprement dite
                    With sht.QueryTables.Add("URL;" & url & "", sht.Range("A1"))
     
                    'sht.range("A1") = cellule cible où doit être rapatrié le tableau html
                    .RefreshStyle = Excel.XlCellInsertionMode.xlInsertDeleteCells
                    .SaveData = True
                    .Refresh BackgroundQuery:=False
     
                    End With
     
                    'Manipulations pour une meilleure présentation
                    sht.Cells.MergeCells = False         'supprime toutes les celules fusionnées dans la feuille
                    sht.Cells.EntireColumn.AutoFit       'adapte la largeur des colonnes au contenu des cellules
     
                    'Remplissage de ma feuille 2 avec les valeurs récupérées
                    valeur1 = Sheets("Feuil1").Range("A192").Value
                    valeur2 = InStr(1, Sheets("Feuil1").Range("A192").Value, ">") + 1
                    valeur3 = InStr(InStr(1, Sheets("Feuil1").Range("A192").Value, ">"), Sheets("Feuil1").Range("A192").Value, "<") - InStr(1, Sheets("Feuil1").Range("A192").Value, ">") - 1
     
                    Sheets("Feuil2").Range("B" & ligne).Value = Mid(valeur1, valeur2, valeur3)
     
        Next
     
    End Sub
    Merci !

Discussions similaires

  1. [XL-2013] Multi-extraction de valeurs dans un même code source HTML ?
    Par Dan.exe dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 14/01/2015, 09h52
  2. Comment recuperer le code source d une page HTML distante en javascript
    Par herbert dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 26/07/2006, 22h26
  3. peut on recuperer le code source d'un package?
    Par qeja dans le forum Oracle
    Réponses: 9
    Dernier message: 14/03/2006, 17h05
  4. [FLASH MX2004 PRO] Recuperer le code source d'une page
    Par adilou1981 dans le forum Flash
    Réponses: 9
    Dernier message: 26/07/2005, 18h11
  5. [Color] recuperer un code couleur HTML
    Par worldchampion57 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 10/02/2005, 13h31

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