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 :

Importation Page web sur excel via VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Par défaut Importation Page web sur excel via VBA
    Bonjour,
    Je suis encore débutant en VBA
    Je travaille depuis un certain temps à automatiser l'importation de plusieurs pages web sur Excel. mais je me heurte à des difficultés.
    La procédure fonctionne mais il arrive souvent qu'il apparaisse l'erreur "Délai de connexion dépassé". Comment faire pour y remédier?
    Par ailleurs je souhaiterais importer les codes sources des pages web sur Excel, à partir de quoi je pourrais accéder aux données des liens sélectionnés.
    Et Enfin, je trouve l'exécution de la procédure un peu lente (environ 15 mn pour environ 6000 lignes traitées).
    Pourriez vous m'aider à trouver des solutions?
    ci - dessous la procédure d'importation que j'utilise.
    Merci d'avance.


    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
    Sub req_web_Chev(Chaine As String)
     
    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False
     
    On Error GoTo Erreurs1
     
     
     With Workbooks("Etat Préparatoire Courses").Worksheets("Perf Chev")
     With .QueryTables.Add(Connection:= _
     "URL;" & Chaine, _
     Destination:=.Range("B1048576").End(xlUp).Offset(1, 0))
     
     .BackgroundQuery = True
     .TablesOnlyFromHTML = True
     .Refresh BackgroundQuery:=False
     .SaveData = True
     End With
     End With
     
    Exit Sub
     
    Erreurs1:
     
    Workbooks("Etat Préparatoire Courses").Worksheets("Perf Chev").UsedRange.ClearContents
    Call Importations_Chev
     
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Billets dans le blog
    8
    Par défaut re
    re
    bonjour est ilpossible d'avoir cette url ???
    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

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Par défaut Exemple URL
    Exemple d'Url

    Liste URL.xlsx

    Merci.

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Billets dans le blog
    8
    Par défaut re
    re
    d'accords encore un nouveau sebphito
    si tu fait une recherche avec ce pseudo tu trouvera plein de chose sur geny et autre site de turf

    cela dit 6000 requetes il faut pas t'etonner du temps d'execution surtout avec querytable d'excel
    perso je prefere le faire moi meme en vba la requete
    je te fait un exemple donne moi 5 minutes juste pour verifier si la structure des page genycourse est toujour obstensible par requetes

    apres plutot que de recupérer tout le code source on peut récupérer juste ce dont tu a besoins

    aussi si tu te donne la peine de chercher marcl propose un exemple de multithread (requetes) dans les contributions

    en bref tu a ce que tu cherche 300 fois dans le forum
    je reviens ....+
    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

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Billets dans le blog
    8
    Par défaut re
    re
    bon voila un 1er jet de l'idée de base
    regarde ce que je recupere dans le sheets resultat que j'ai ajouté

    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
    Sub testrequete()
        With Sheets("resultat"): .Activate: .Cells.Clear: End With
        For i = 2 To Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
            requete Sheets(1).Cells(i, 1).Value
        Next
        deleteshap
        MsgBox "terminé!!"
    End Sub
    Sub requete(url)
        Dim req
        Set req = CreateObject("microsoft.xmlhttp")
        req.Open "POST", url, False
        req.send
        With CreateObject("htmlfile")
            .body.innerhtml = req.responsetext
            Set tables = .getelementsbytagname("TABLE")
            texte = "<style>TD{border:1px solid black;}</style>" & vbCrLf & "<font color=red><strong>" & .getelementsbytagname("H1")(0).innertext & "</strong><br> musique :" & .getelementsbytagname("H3")(0).innertext & "</font>" & tables(1).outerhtml & tables(3).outerhtml
            If .parentWindow.clipboardData.setData("Text", texte) Then
                Application.ScreenUpdating = False
                With Sheets("resultat")
                    .Cells(Rows.Count, 1).End(xlUp).Offset(3, 0).Select
                    .Paste
                .Columns("A:z").AutoFit
                End With
                .parentWindow.clipboardData.clearData "Text"
            End If
        End With
    End Sub
    Sub deleteshap()
        For Each shap In Sheets(2).Shapes
            shap.Delete
        Next
    End Sub
    regarde le gif jusqu'au bout

    Nom : demo5.gif
Affichages : 697
Taille : 900,2 Ko
    teste ce fichier
    Fichiers attachés Fichiers attachés
    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
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Billets dans le blog
    8
    Par défaut re
    re
    si tu veux le lien de la course du jour (quinté)voici
    une petite sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test_recuplinkquinteToday()
        Dim req
        Set req = CreateObject("microsoft.xmlhttp")
        req.Open "POST", "http://www.geny.com/reunions-courses-pmu?" & Format(Date, "yyyy-mm-dd"), False
        req.send
        Debug.Print
        With CreateObject("htmlfile")
            .body.innerhtml = req.responsetext
            For Each elem In .getelementsbytagname("a")
                If elem.href Like "*centpourcent-quinte*" Then Debug.Print Replace(elem.href, "about", "http://www.geny.com")
            Next
        End With
    End Sub
    parti de ce lien tu peux recupérer les liens des chevaux dans le tableau a droite

    tag ton post resolu si tu a ce qu'il te faut comme ca j'arrete le suivi
    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

Discussions similaires

  1. [XL-2007] Filtre et tri sur Excel via vba
    Par benol3 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 16/06/2014, 09h33
  2. [XL-2003] extraction d'un fichier BO sur excel via vba
    Par baptoo61 dans le forum Excel
    Réponses: 4
    Dernier message: 23/05/2014, 18h12
  3. insertion cotation CAC 40 sur excel via VBA
    Par stiffon dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/02/2012, 13h27
  4. Piloter une page Web depuis Excel en VBA
    Par ilcocodrillo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/08/2008, 16h57
  5. Importer une requete dans Excel via VBA
    Par ted the Ors dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 16/04/2008, 19h29

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