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

Trier par : Les plus anciens
  1. Anonyme
    2015-10-27T00:06:05+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

    http://www.cjoint.com/c/EJBaftCjq13

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

    0 commentaires Aucun commentaire
  2. Anonyme
    2015-10-27T09:14:43+00:00

    Bonjour,

    Merci pour le lien. Mais au cas probable ou je ne pourrais pas obtenir le même résultat, j'aurais aimé savoir ce que le résultat final. Je suppose que tu traites ces données ?

    Daniel

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

    0 commentaires Aucun commentaire
  3. Anonyme
    2015-10-27T09:24:01+00:00

    Suite :

    Excel plante si personal.xlsb contient la macro :

    Private Sub Workbook_Open()

      Application.WindowState = xlMaximized

    End Sub

    Daniel

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

    0 commentaires Aucun commentaire
  4. Anonyme
    2015-10-28T14:52:03+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 :

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

    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é.

    Daniel

    http://www.cjoint.com/c/EJCoVW6d2IX

    Ce classeur a le résultat d'extraction des codes des courses effectué par un copier collé, incluse la routine telle qu'elle est utilisée pour cela.

    Pour info, mon classeur utilisé "Touteslescourses.xlsb" fait 70 Mo .

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

    0 commentaires Aucun commentaire