rapatrier le code source html en VBA

Anonyme
2015-10-22T03:25:26+00:00

Bonjour

Cette routine fonctionnait correctement sous XP et depuis que je suis  sous W8.1 elle ne fonctionne plus. J'ai déjà posé cette question il y a quelque temps, si il y a du nouveau à ce propos; bien aimable de me tenir au courant. Merci

Sub CherchecodeSource()

    Dim CodeSource As String, IE As Object

    Dim TempFile As String

    On Error Resume Next

    Feuil10.[A:A].ClearContents

    Set IE = CreateObject("InternetExplorer.application")

    TempFile = "c:\Fred.txt"

    IE.Visible = False    ' Ou True

    IE.navigate URL:="http://www.tierce-magazine.com/accueil/pid107-les-reunions-du-jour.html?day=tomorrow"

    Do Until IE.ReadyState = 4

        DoEvents  ' soit la boucle ne sort pas, soit elle sort et "Laligne" est vide dans la boucle suivante

    Loop

    CodeSource = IE.document.body.innerHTML

    Open TempFile For Output As #1

    Print #1, CodeSource

    Close #1

    Open TempFile For Input As #1

    Do While Not EOF(1)

        Input #1, LaLigne

        a = a + 1

        Feuil10.Range("A" & a) = LaLigne

        If a > 20 And Application.CountA([IDcours!A:A]) = 0 Then

            Exit Do

        End If

    Loop

    Close #1

    Kill TempFile

    IE.Quit

    Set IE = Nothing

End Sub

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire
Réponse acceptée par l’auteur de la question
Anonyme
2015-10-26T07:50:38+00:00

Bonjour

Comme je l'ai indiqué le code tourne avec Office 2010 et IE11/w7.

Par contre on récupère du texte html et non les valeurs qui vous intéressent.

Je ne peux pas aller plus loin n'ayant plus ni IE8, ni Excel 2007.

Cette réponse a-t-elle été utile ?

0 commentaires Aucun commentaire

22 réponses supplémentaires

  1. Anonyme
    2015-10-26T19:51:19+00:00

    J'ai un problème avec ton lien (j'ai un message comme quoi je me suis trop servi de OneDrive et je suis puni pour 24 heures). J'aurai aimé voir le résultat final après :

    Du texte, je retire ensuite tous les nombres placés après le mot "Race_ID" qui sont affiliés à chaque course.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2015-10-26T17:26:48+00:00

    Ce que je t' ai transmis est le résultat d'un clic droit>code source>tout sélectionner>copier sur la page HTML, il n'y a pas malheureusement d'amélioration en VBA. Je sais que sous XP j'ai eu ce problème de même nature et aprés une manip sur IE cela s'est réglé mais je ne me souviens plus de quelle manip il est question ou alors, je n'ai pas retrouvé sur IE11 le menu qu'il y avait sur IE8.

    Mais j'ai toujours espoir.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2015-10-26T13:23:53+00:00

    Et qu'est-ce que tu obtiens, au final ?

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2015-10-26T12:48:41+00:00

    Bonjour,

    C'est vrai que le temps de connexion est long. Est-ce que tu as coché la référence "Microsoft Internet Coltrols" ? Voici ce que j'obtiens avec Excel 2007 et Windows 10 :

    §§ Oui Microsoft Internet Controls est bien coché

    Internet Explorer est hors de cause, j'utilise Chrome.

    §§ Ah oui et mon code VBA, il utilise bien IE, lui!

    J'obtiens le résultat suivant :

    https://onedrive.live.com/redir?resid=96D5842B14D14FA4!7046&authkey=!AEc0VHVs8s9Js44&ithint=file%2cxlsx

    Est-ce que tu peux poster un exemple du résultat souhaité.

    https://onedrive.live.com/convert.aspx?resid=A1BF86ED7F37C772!4148&id=documents&canary=QIVf7D85fQ1VDCZoHFrJpYO4x6CmvwX%2b%2bM2YX1IoDYg%3d5

    Du texte, je retire ensuite tous les nombres placés après le mot "Race_ID" qui sont affiliés à chaque course.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire