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 :

Download de pages internet


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 46
    Par défaut Download de pages internet
    Bonjour,

    J'ai un problème étrange et vous appelle au secours

    Je dois récupérer des données d'un site internet à partir de VBA. Pour cela j'utilise une boucle car j'ai plusieurs pages à récupérer.

    Le mode pas à pas me confirme que j'accède bien à toute les pages. Mais le Download ne fonctionne que pour les 2 premières!!! Pour les autres, "il" enregistre une page d'erreur d'accès à la page de mon site (comme si j'essayais d'accéder sans m'être identifier)

    Je sais que c'est un peu vague et je vais difficilement pouvoir vous montrer tout mon programme mais en voici un extrait :

    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
     
     
    'Fonction vérifiant la réussite de l'enregistrement
    Public Function DownloadFile(ByVal sURL As String, ByVal sLocalFile As String) As Boolean
        Dim lngRetVal As Long
        DownloadFile = URLDownloadToFile(0&, sURL, sLocalFile, 0&, 0&) = ERROR_SUCCESS
    End Function
     
    Sub EnregistrementHTML(VB1 As String, VB2 As Integer)
     
    Dim page As String 'Adresse de la page internet à enregistrer
     
       Call Log  ' Appel de la procédure permettant de se connecter et de s'identifier sur le site en question 
     
     
    For Compteur = 1 To 5
        IE.navigate ("https://www...")  'Accès à la pages contenant toutes les autres à télécharger
       ' Attente de fin de chargement
        While IE.Busy
            DoEvents
        Wend
        page = "https://www..." & compteur  'Accès à la page contenant mes infos
        IE.navigate (page)
        ' Attente de fin de chargement
         While IE.Busy
            DoEvents
         Wend
     
       DownloadFile page, Chemin & "\Tab" & compteur & ".html"
     
    Next
     
    End sub

  2. #2
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    bjr,

    il y a https à certains endroits du code
    est-ce que les pages en erreur sont sur un serveur sécurisé https et celles qui se téléchargent sur un serveur "normal" http?

  3. #3
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 46
    Par défaut
    Non, toutes mes pages sont en https

    J'ai l'impression d'être déconnectée du site entre le moment où j'accède à ma page et celui où je l'enregistre !!!!!!!!!

  4. #4
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    Citation Envoyé par cemyr Voir le message
    Non, toutes mes pages sont en https

    J'ai l'impression d'être déconnectée du site entre le moment où j'accède à ma page et celui où je l'enregistre !!!!!!!!!
    alors je ne sais pas désolé

    tu peux toutefois tester avec ce code en remplacement de URLDownloadToFile si ça peut aider :
    http://www.developpez.net/forums/d10...e/#post5602902

  5. #5
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 46
    Par défaut Détournement de problème
    Avant d'enregistrer ma page, il faudrait que je puisse détecter si elle contient un message d'erreur. Si message d'erreur il y a, il est toujorus identique et placé au même endroit de ma page.

    Y'a t-il un moyen simple de rechercher une chaine de caractère sur une page web?

    Merci,

  6. #6
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 46
    Par défaut
    J'ai effectivement trouver un moyen simple de detecter un message d'erreur sur une page web :

    InStr(IE.document.body.innerHTML, "Mon message d'erreur")

    mais mon problème persiste!!!

    voici à quoi ressemble mon programme après m'être connectée et avoir navigué sur le site jusqu'à la page recherchée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    IE.navigate (mapage) 'Fonctionne très bien, en mode "débugage pas à pas" je confirme que ma page s'ouvre bien
    a= URLDownloadToFile(0, mapage, monchemin, 0, 0) 'Enregistre la page comme si j'y accédais sans m'être identifier avant!!!
    Je tourne en rond avec ce pb ... a l'aideeeeeeeeil existe effectivement un moyen s

    La fonction DownloadFile poserait-elle un problème lorsque l'URL contient un caractère spécial (à tout hasard un "?") ???

Discussions similaires

  1. Titre d'une page Internet
    Par Ramses__ dans le forum Web & réseau
    Réponses: 4
    Dernier message: 29/09/2006, 11h51
  2. [Debutant]Download jsp page dans un fichier xls (csv, ...)
    Par bdelporte dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 19/09/2005, 17h16
  3. [Batch] Tit prog pour ouvrir une page internet
    Par toniovitch dans le forum Windows
    Réponses: 1
    Dernier message: 17/09/2005, 16h20
  4. Ouvrir page internet en texte
    Par rabbi_jaccob dans le forum C++Builder
    Réponses: 2
    Dernier message: 19/07/2005, 18h18
  5. Peut-on créer une page internet via JBuilder?
    Par Xavier dans le forum JBuilder
    Réponses: 2
    Dernier message: 17/02/2005, 21h21

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