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 :

Import données site web : Amélioration code [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut Import données site web : Amélioration code
    Bonjour à tous
    A l'aide de l'enregistreur automatique j'ai obtenu un code me permet d'importer les données d'un site internet ; ce code prend du temps lors de l'exécution et j'ai constaté lors de l'enregistrement du code que le téléchargement passe par internet Explorer et non pas par google chrome (je sais pas si le fait de passer par chrome réduire le temps d'exécution)
    Je suis preneur de toutes solution
    merci à vous tous, merci developpez.net
    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
    37
    Sub ImportCoursBCT()
    Application.ScreenUpdating = False
    Dim a As Long
    With Sheets("COURS")
    a = .Range("A" & Rows.Count).End(xlUp).Row
    .Range("A1:D" & a).Select
     Selection.ClearContents
     
        With ActiveSheet.QueryTables.Add(Connection:= _
            "URL;https://www.bct.gov.tn/bct/siteprod/cours.jsp", Destination:=Sheets("COURS").Range( _
            "$A$1"))
            .Name = "cours"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .WebSelectionType = xlSpecifiedTables
            .WebFormatting = xlWebFormattingNone
            .WebTables = "1"
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
        End With
     
    End With
        Application.ScreenUpdating = True
    End Sub
    Bonne journée

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour Ben !

    Excel étant une application Microsoft, Internet Explorer étant aussi une application Microsoft, ceci expliquant cela …

    Chrome en VBA à oublier sauf via l'add-on selenium (et là voir directement sur son forum pour des questions).

    Sinon utiliser l'outil d'inspection d'Internet Explorer pour voir la requête appliquée lors du chargement de la page
    afin de la reproduire en VBA (voir les tutoriels et les exemples dans les discussions de ce forum).

    Ou encore à partir d'Excel 2010 via PowerQuery …

    Power Query : Import Data from Web Pages

    Utilisation des outils de développement F12
    Analyse du trafic réseau de votre page Web

    VBA et développement Web

    ___________________________________________________________________________________________________________
    Je suis Paris, Mogadicio, Barcelone, London, Manchester, Egypte, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonjour MARC,
    Merci de cette réponse claire
    je vais voir les liens et je reviens en cas de progression
    BONNE JOURNÉE

  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
    Bonjour
    peut etre que cela sera plus rapide
    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
    Sub IMPORTATION()
        Dim ReQ, shap, mémorisation, CodeHtMl
        Set ReQ = CreateObject("microsoft.xmlhttp")
        With ReQ
            .Open "post", "https://www.bct.gov.tn/bct/siteprod/cours.jsp", False: .send
            CodeHtMl = ReQ.responsetext
            With CreateObject("htmlfile")
                .body.innerhtml = CodeHtMl 
                mémorisation = .parentwindow.clipboardData.setData("Text", .getelementsbytagname("TABLE")(1).outerhtml)
                With Sheets("COURS")
                    .Activate: .Cells(1, 1).Select .Paste
                    ' netoyage des shapes vides qui seront de toute facon vide daans le sheets
                    For Each shap In .Shapes
                        If shap.Name Like "*Auto*" Then shap.Delete
                    Next
                End With
            End With
        End With
    End Sub
    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
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonsoir patrick, la forum
    ça fonctionne à merveille
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] VBA possibilité extraction données site web
    Par Paul75 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/01/2011, 18h54
  2. [XL-2007] Importer données site web en direct
    Par Fenix01 dans le forum Excel
    Réponses: 5
    Dernier message: 26/05/2010, 13h07
  3. [XL-2003] importer données du web avec mot de passe
    Par kokoVBA dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/10/2009, 18h26
  4. importer un site web en html
    Par GandalfZeGrey dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 31/01/2008, 14h43
  5. Réponses: 11
    Dernier message: 01/09/2005, 18h59

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