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 valeur fenêtre Internet Explorer [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut Récupérer valeur fenêtre Internet Explorer
    Bonjour le Forum,

    Comme d'habitude, une question simple pour Vous mais un véritable casse tête pour moi. Je cherche à réupérer des données d'une fenêtre IE. Voici mon début de code qui fonctionne pour récupérer mes 4 premières données.

    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
    Private Sub Worksheet_Calculate()
    Dim IE As New InternetExplorer
    Dim winShell As New ShellWindows
    Dim maPageHtml As HTMLDocument
    Dim HtmlElementStandard As HTMLGenericElement
    Dim objectif As HTMLGenericElement
    
        For Each IE In winShell
            If Mid(IE.LocationName, 1, 7) <> "ITinera" Then GoTo line1
    
            Set IEDoc = IE.Document
            Set HtmlElementStandard = IE.Document.all("blockContentForm:inss")
            NISS = HtmlElementStandard.innerText
            Set HtmlElementStandard = IE.Document.all("blockContentForm:title")
            TITRE = HtmlElementStandard.innerText
            Set HtmlElementStandard = IE.Document.all("blockContentForm:name")
            NOM = HtmlElementStandard.innerText
            Set HtmlElementStandard = IE.Document.all("blockContentForm:firstName")
            PRENOM = HtmlElementStandard.innerText
    
    ==>> mon problème
    line1:
        Next IE
    Set IE = Nothing
    End Sub
    Mais pour la suite, mon problème est que la donnée se trouve sous un autre format et que je m'arrache les cheveux à essayer de l'extraire. Voici le code de la fenêtre . J'ai mis en rouge les données que j'aimerais récupérer.

    Code html : 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
    <body class="fileReadOnly" onload="">
    <span id="contentPane">
    <form name="blockContentForm" id="blockContentForm" action="/itinera/pages/showFileOwnerActor.xhtml" encType="application/x-www-form-urlencoded" method="post">
    <div id="blockContent">
    <div class="rich-panel " id="blockContentForm:officialAddressPanel">
    <div class="rich-panel-body " id="blockContentForm:officialAddressPanel_body">
    <table class="dataLines">
    <tbody>
    <tr>
    <th>
    Texte - Rue
    <td id="address">
    Texte - Quai de la Batte
    <span class="dataLabel">
    Texte - Numéro
    <span class="dataValue">
    Texte – 2
    <span class="dataLabel">
    Texte - Boîte
    <span class="dataValue">
    Texte – 13
    <tr>	
    <th>
    	Texte - Code postal
    <td id="location">
    Texte – 4500
    <span class="dataLabel">
    Texte - Ville
    <span class="dataValue">
    Texte – Huy
    <span class="dataLabel">
    Texte - Pays
    <span class="dataValue">
    Texte - Belgique

    Merci pour vos idées

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 596
    Points : 34 282
    Points
    34 282
    Par défaut
    salut,

    la lecture du très complet article de Qwazerty t'aiderait-elle à aller de l'avant ?
    http://qwazerty.developpez.com/tutor...-et-vba-excel/
    par exemple
    http://qwazerty.developpez.com/tutor...a-excel/#LIV-F
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Merci pour l'info.

    En fait, j'ai déjà ("mal") lu le document mais je n'arrive pas à trouver l'info. D'après ce que j'ai compris, il faut que je trouve le numéro de l'item. Pour cela, je dois utiliser l'espion.

    Peux-tu me dire où je dois mettre mon espion dans mon code ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 596
    Points : 34 282
    Points
    34 282
    Par défaut
    En fait je ne sais pas ce que tu cherches exactement à récupérer, vu que tu as mis du rouge partout, sans indiquer celui sur lequel tu buttes actuellement
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut heu
    Bonjour

    Au vu de ce que tu a mis en rouge tu cherche le innertext des éléments a partir du <td>".
    Rien que cela devrait te mettre sur la voie.

    Si tu as lu le tuto de qwazerty tu as pu voir que l'on pouvait faire une recherche par le typetag des éléments.

    En ce qui te concerne tu a un "td" et les autre sont des "class"

    getelementsbytagname
    getelementsbyclassename

    Tu as çà dans son tutoriel.

    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 expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Salut patricktoulon & jpcheck,

    Merci de prendre un peu de votre temps pour m'aiguiller.

    Pour enlever tout doute, j'ai mis en attaché une copie de l'écran, avec les données que je veux récupérer.

    Mais décidemment, je lis relis le tuto qui est bien fait mais je ne peux déjà pas le mettre en pratique à cause du surfcontrol de mon job. Donc, c'est un peu théorique.

    J'ai un peu avancé en mettant le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            Set htmlTagCol = IEDoc.getElementsByTagName("td")
            x = htmlTagCol(10).innerText
    je récupère la donnée suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "1080 Ville Molenbeek-Saint-Jean Pays Belgique"
    Ce qui ne me convient pas vraiment puisque je voudrai les données 1 à 1 (1080 / Molenbeek-Saint-Jean / Belgique).

    J'essaie d'utiliser getelementsbytagname, getelementsbyclassename de faire la différence entre "td" et "class"; si vous aviez encore quelques idées .... merci merci merci
    Images attachées Images attachées  

  7. #7
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Salut,
    En utilisant split tu devrais y arriver, Patrick va se faire un plaisir de t'expliquer sinon parcours ce post

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour
    pas forcement oliv+

    car autant utiliser la méthode jusqu'au bout

    dans son cliché déjà je ne vois rien (trop petit ) mais je crois deviner que les flèches représentent les éléments qu'il cherche

    il sont sur plusieurs ligne apparemment dans le code source ça veut dire que l'élément qu'il cherche a des enfants et sous enfant s

    donc pour moi si

    element.innertext lui donne quelque chose
    peut être que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    element.children(o)'ou 1 ou 2 ect...
    lui donnera un autre son de cloche

    si il y a des sous enfants ce sera
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    element.children(X).children(Y)

    tout est parfaitement expliqué dans le tuto de qwazerty

    maintenant si il n'est vraiment pas possible de séparer les éléments comme ca alors oui on split mais la encore faut il avoir des repère solides

    car si il doit le faire plusieurs fois et que les éléments ne sont pas placer de la meme manière sa risque d'être compliqué

    conclusion essaie d'abord de déterminer les enfants et /ou sou enfants

    avant de te lancer dans le traitement texte du code source car c'est pas si facile surtout que la mise en page peut évoluer ce qui rend encore plus difficile la chose


    pourrait on avoir ce lien de cette page si ca n'est pas confidentiel???

    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

  9. #9
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par patricktoulon Voir le message

    dans son cliché déjà je ne vois rien (trop petit )
    Tu peux cliquer sur cette miniature pour qu'elle s'agrandisse

  10. #10
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour

    As-tu essayé de l'afficher toi pour voir ?

    Il serait préférable pour tous d'avoir soit le code source soit le lien.
    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

  11. #11
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Oui cela s'affiche bien chez moi!

    et je vois que c'est du HTML bien propre parfait pour l'extraction avec des ID

    getElementById, puis getelementsbyclassename

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    id="address"
        class="dataLabel"
        class="dataValue"
        class="dataLabel"
        class="dataValue"
     
    id="location"
        class="dataLabel"
        class="dataValue"
        class="dataLabel"
        class="dataValue"

  12. #12
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    c'est bien ce que j'ai dis plus haut

    il y a bien des enfants et des sous enfants il lui suffit de déterminer le parent dans la première recherche par "getelementsby....... ""id" ou "tagname" ou "classname" ect....

    sur mon portable la capture est illisible

    je viens de relire les post de cette discussion

    et j'ai repérer ca:
    Mais décidément, je lis relis le tuto qui est bien fait mais je ne peux déjà pas le mettre en pratique à cause du surfcontrol de mon job. Donc, c'est un peu théorique.
    en lecture ca me parait presque impossible mais bon si c'est le cas

    la effectivement ca risque d'être un souci
    peut être que oliv+ avais raison dans ce cas la il va peut être passer par l'objet "httpmxl"et travailler en texte
    mais préparons des cafetières avant, il va nous en falloir




    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

  13. #13
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Rebonjour à Vous deux

    et merci de prendre un peu de votre temps pour me répondre

    J'essaie toujours d'appliquer le tuto mais j'ai vraiment des problèmes de compréhension. Je pense que je dois reprendre depuis le début. J'ai bien trouvé le code HTML.

    Quelle doit être ma première étape maintenant ? Est-ce que je dois travailler seulement avec la fenêtre de développement de IE ou dois-je obligatoirement passer par l'espion ? Et un autre problème c'est de savoir faire le lien entre les deux.

    Si vous avez des conseils ? des idées ? tout ce qui peut me faire avancer.

    Salut

    En fait, j'ai dû ruser et voici le résultat

    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
        For Each IE In winShell
            If Mid(IE.LocationName, 1, 7) <> "ITinera" Then GoTo line1
    
            Set IEDoc = IE.Document
            Set HtmlElementStandard = IE.Document.all("blockContentForm:inss")
            NISS = HtmlElementStandard.innerText
            Set HtmlElementStandard = IE.Document.all("blockContentForm:title")
            titre = HtmlElementStandard.innerText
            Set HtmlElementStandard = IE.Document.all("blockContentForm:name")
            nom = HtmlElementStandard.innerText
            Set HtmlElementStandard = IE.Document.all("blockContentForm:firstName")
            prenom = HtmlElementStandard.innerText
            
            
            'rue
            rrue = ""
            Set htmltagcol = IEDoc.getElementsByTagName("td")
            x = htmltagcol(9).innerText
            rrue = Replace(x, "Numéro ", "")
            rue = Replace(rrue, "Boîte ", "")        
            
            
            'cp, localité et pays
            Set htmltagcol = IEDoc.getElementsByTagName("td")
            x = htmltagcol(10).innerText
            
            tableau = Split(x, " ")
            For i = 0 To UBound(tableau)
                If i = 0 Then cp = tableau(i)
                If i = 2 Then loca = tableau(i)
                If i = 4 Then pay = tableau(i)
            Next i    
    
    line1:
        Next IE
    Set IE = Nothing
    Je suis déçu car je pense qu'une solution plus efficace existe mais je n'arrive pas à appliquer les: getElementsByID, getelementsbyclassename, getelementsbytagname, et autres children ...

    Si vous savez m'aiguiller encore plus merci ...

    Re

    Décidemment je persiste.

    J'ai mis en attaché deux documents : un avec code HTML et un avec le script. Est-ce que je peux travailler à partir de ces données pour mon code vba ou dois-je impérativement fonctionner avec un espion ?

  14. #14
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour
    pour faire cour pourais tu plutot envoyer le lien de cette page ???
    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

  15. #15
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    MERCI DE TENIR COMPTE DE MON MP !

    voici un exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Set monid = IE.Document.getElementById("location")
                For i = 0 To monid.Children.Length - 1
                    Select Case Trim(monid.Children.Item(i).innertext)
                    Case "Ville"
                        Laville = Trim(monid.Children.Item(i + 1).innertext)
                    Case "Pays"
                        Lepays = Trim(monid.Children.Item(i + 1).innertext)
                    End Select
     
                Next i
                MsgBox Laville & vbCr & Lepays
    Citation Envoyé par patricktoulon Voir le message
    bonjour
    pour faire cour pourais tu plutot envoyer le lien de cette page ???
    salut Patrick
    je suis certain que c'est un intranet!

  16. #16
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    re
    sinon un exemple vite fait avec l'object "xmlhttp"

    étudie bien le code et demande toi pourquoi j'ai choisi certaine expression pour couper le code source pour obtenir ce que je voulais

    pssi toute les pages que tu a a dissequer sont aussi bien structurées
    meme avec l'object "IE" tu devrais pas avoir de problème

    allez c'est parti
    lance la macro essai1 et c'est tout

    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
    Option Explicit
    Dim lapage
    Dim liste As String
    Public Function HtmlToText(sHtml)
        On Error Resume Next
        With CreateObject("htmlfile")
            .Write sHtml
            HtmlToText = .body.innerText
        End With
    End Function
    Public Function GetXml(sURL)
        Dim Xml
        Set Xml = CreateObject("Microsoft.XMLHTTP")
        Xml.Open "GET", sURL
        Xml.Send
        Do
            DoEvents
        Loop While Xml.ReadyState <> 4
        GetXml = Xml.ResponseText
    End Function
     
     
    Sub essaie1()
    lapage = GetXml("C:\Users\Patrick\Desktop\dumenthtml.html")
    liste = liste & "code_niss = " & Split(Split(Split(lapage, "<th>NISS </th>")(1), ">")(2), "<")(0) & vbCrLf
    liste = liste & "date_de_naissance = " & Split(Split(Split(lapage, ":birthDate")(1), ">")(1), "<")(0) & vbCrLf
    liste = liste & "sexe = " & Split(Split(Split(lapage, "sex")(2), ">")(1), "<")(0) & vbCrLf
    liste = liste & "civilité = " & Split(Split(Split(lapage, "Titre")(1), ">")(3), "<")(0) & vbCrLf
    liste = liste & "nom = " & Split(Split(Split(lapage, "<span class=""dataLabel"">Nom</span>")(1), ">")(2), "<")(0) & vbCrLf
    liste = liste & "prenom = " & Split(Split(Split(lapage, ":firstName")(1), ">")(1), "<")(0) & vbCrLf
    liste = liste & "nationalité = " & HtmlToText(Split(Split(Split(lapage, ":nationality")(1), ">")(1), "<")(0)) & vbCrLf
    liste = liste & "language_utilisé = " & Replace(Split(Split(Split(lapage, ":language")(1), ">")(1), "<")(0), "?", "c") & vbCrLf
    liste = liste & "etat_civil = " & Replace(Split(Split(Split(lapage, ":civilState")(1), ">")(1), "<")(0), "?", "é")
    MsgBox liste
    End Sub
    n'oublie pas de changer le lien car moi je me suis servi du code source que tu a envoye au format world que j'ai retransformé en html
    au plaisir

    re
    sinon au plus court
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Sub essai2()
    donnée_personelles = HtmlToText(Split(Split(GetXml("C:\Users\Patrick\Desktop\dumenthtml.html"), "Informations personnelles")(1), "<th>Nom conjoint(e)</th>")(0))
    MsgBox donnée_personelles
    End Sub
    bienque la il faut encore travailler sur le texte obtenu pour faire des lignes propres
    mais ca te donne une idée des possibilités de l'object"xmlhttp"

    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

  17. #17
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Merci pour tout vos conseils, je fais les essais dans les plus brefs délais. Avec votre aide je dois y arriver.

    c'est effectivement un intranet!
    a+

  18. #18
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    si c'est un intranet on va tatilloner un bon moment

    essai la version de oliv+- et la mienne celle d'oliv me parait bien en bouclant sut le children(X).lenght

    cela dit il faut que tout les pages soit pareilles
    il suffit que une seule ai 2 lignes pour un data et c'est le bug
    voir les données mal repertoriées

    du genre la rue peut devenir le pays etc.....

    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

  19. #19
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Bonjour,

    Merci à tous les deux. Cela fonctionne avec ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
          Set htmltagcol = IEDoc.getElementsByTagName("td")
          x = htmltagcol(9).innerText
          y = htmltagcol(9).Children(0).innerText
          z = htmltagcol(9).Children(1).innerText 
          w = htmltagcol(9).Children(2).innerText
          v = htmltagcol(9).Children(3).innerText
    Mon seul problème c'est de trouver rapidement le chiffre qui correpond àl'élément à chercher, ,ici "(9)". Il y a une façon de procéder très rapidement ? Pour le moment je tatonne et au petit bonheur je trouve.

  20. #20
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Salut,
    Pourquoi ne pas utiliser mon code ? tu aurais moins de risque de tomber à côter

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/05/2015, 18h22
  2. Récupérer adresse IP client avec Internet Explorer
    Par samyrentier dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/03/2006, 16h41
  3. ShellExecute , Internet Explorer et fenêtre active
    Par jakouz dans le forum Web & réseau
    Réponses: 6
    Dernier message: 27/10/2005, 15h50
  4. Récupérer le path d'Internet Explorer et Firefox
    Par cpdump dans le forum Langage
    Réponses: 4
    Dernier message: 11/09/2005, 20h23
  5. Comment récupérer les adresses WWW dans Internet Explorer ?
    Par chaours dans le forum Web & réseau
    Réponses: 7
    Dernier message: 03/09/2003, 14h27

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