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

XML/XSL et SOAP Discussion :

Récupérer du texte sur une page web


Sujet :

XML/XSL et SOAP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Acheteur
    Inscrit en
    Mars 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Acheteur
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2022
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Récupérer du texte sur une page web
    Bonjour,

    Voici mon projet :
    - développer un outil permettant de rédiger les contrats de façon automatique.

    Pour cela, j'ai besoin de me connecter au site societe.com puis de récupérer certaines informations, à savoir :
    - la forme juridique
    - le nom commercial de l'entreprise
    - l'adresse postale
    - le numéro de SIRET
    - le numéro de TVA intracommunautaire
    - le numéro RCS
    - le capital social


    Dans mon outil Excel je possède déjà le numéro de SIRET par un autre biais. Je me connecte alors sur la page societec.com correspondant au SIRET recherché mais ensuite j'aurais besoin de récupérer les autres informations listées ci dessus.

    Voici mon code pour récupérer par exemple la forme juridique :

    Code VBA : 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
    Sub IETest5()
     
    Dim ie As New InternetExplorer
     
    ie.Visible = True
    ie.navigate "https://www.societe.com/societe/" & Range("E20").Value & "-" & Range("AK2").Value & ".html"
    Do While ie.Busy
        Application.Wait DateAdd("s", 1, Now)
    Loop
     
    Dim HTMLDoc As HTMLDocument
    Set HTMLDoc = ie.document
     
    StatutJuridique = document.getElementById("catjur-histo-description")
     
    MsgBox StatutJuridique
     
    End Sub

    Pourriez vous m'aider ?

    D'avance merci !

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    aider à quoi ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Acheteur
    Inscrit en
    Mars 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Acheteur
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2022
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Récupérer du texte sur SOCIETE.COM
    Bonjour,

    Je tiens à présenter mes excuses... c'est vrai que je n'ai pas expliqué jusqu'au bout ce qui ne fonctionne pas avec mon code ... En réalité, je n'arrive pas à remonter les informations avec ce que j'ai écris... mais peut être est ce du au fait que ces données soient protégées...

    Pour être parfaitement clair, hier j'ai de nouveau essayé de retravailler mon code :

    Code VBA : 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
    Sub VBA_Webscrap()
    'to refer to the running copy of Internet Explorer
    Dim ie As InternetExplorer
    'to refer to the HTML document returned
    Dim IEdoc As IHTMLElement
    Dim resultat As Range
     
    Set resultat = Worksheets("Menu").Range("AZ1")
     
    'open Internet Explorer in memory, and go to website
    Set ie = New InternetExplorer
    ie.Visible = True
     
    ie.navigate "https://www.societe.com/societe/" & Range("E20").Value & "-" & Range("AK2").Value & ".html"
     
    WaitIE ie
     
    Set IEdoc = ie.html => ligne à l'origine de l'erreur
     
    'get a reference to the article’s header. The text is stored in the first item within the element.
     
    resultat = IEdoc.getElementsByClassName("catjur-histo-description").innerText
     
     
    MsgBox resultat
    Set resultat = Nothing
    Set html = Nothing
    End Sub


    => mais j'obtiens le message d'erreur
    Erreur 438 - Propriété ou méthode non gérée
    j'ai ensuite essayé le code suivant :

    Code VBA : 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
    Sub TEST6()
    'to refer to the running copy of Internet Explorer
    Dim ie As New InternetExplorer
    'to refer to the HTML document returned
    Dim IEdoc As HTMLDocument
    'open Internet Explorer in memory, and go to website
     
    ie.navigate "https://www.societe.com/societe/" & Range("E20").Value & "-" & Range("AK2").Value & ".html"
     
    ie.Visible = True
     
    'use the below set of Do's together to wait for the website to do work
    Do Until ie.readyState = READYSTATE_COMPLETE
    DoEvents
    Loop
     
    Set IEdoc = ie.document
    'get a reference to the article’s header. The text is stored in the first item within the element.
    document.getElementsByClassName ("break-word") => ligne à l'origine de l'erreur
    ActiveSheet.Range(“AZ1”) = firstHeaderElement.innerHTML
    Set html = Nothing
    End Sub

    => mais j'obtiens le message d'erreur
    Erreur d'exécution 424 - Objet requis
    Y a t il réellement une solution ou est ce impossible de part la protection des données ?

    D'avance merci !

  4. #4
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Le script vba présenté est plein d'erreurs, il me semble, et incomplet. En tout cas, ces trois lignes sont déjà très problématiques.
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set IEdoc = ie.document
    'get a reference to the article’s header. The text is stored in the first item within the element.
    document.getElementsByClassName ("break-word") => ligne à l'origine de l'erreur
    ActiveSheet.Range(“AZ1”) = firstHeaderElement.innerHTML
    Au moins, il doit apparaître comme ça pour avoir quelque chance d'être correct.
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set IEdoc = ie.document
    'get a reference to the article’s header. The text is stored in the first item within the element.
    Set firstHeaderElement=IEdoc.getElementsByClassName ("break-word")(0)    ' => ligne à l'origine de l'erreur
    ActiveSheet.Range(“AZ1”) = firstHeaderElement.innerHTML
    Imaginez combien faut-il corriger pour le script complet ...

    On a un forum dédié à la vba en Excel, peut-être posez la question là pour des aides plus efficaces ?
    https://www.developpez.net/forums/f6...ros-vba-excel/

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 le texte d'une page web
    Par claustro dans le forum Langage
    Réponses: 2
    Dernier message: 29/09/2008, 13h18
  3. récupérer des valeurs sur une page web
    Par houwa dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/07/2008, 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