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 :

navigation internet + extraction pdf


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    autre
    Inscrit en
    Juin 2017
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Juin 2017
    Messages : 261
    Par défaut navigation internet + extraction pdf
    Bonjour à tous !

    Dans l'optique de créer un outil de veille réglementaire assistée, je démarre mes recherches d'applications suivantes depuis excel:

    - ouvrir une page de site institutionnel fixe sur internet - OK
    - pointer un lien hypertexte variable (évolue à chaque mise à jour, dénomination variable donc) - OK
    - télécharger le PDF de la nouvelle version réglementaire - OK
    - extraction texte et tableaux vers mon fichier excel
    - tri des chapitre par onglets OU fusion des onglets
    - mise en forme

    Voilà pour la première phase ! Mes premières recherches m'ont amené à des bribes de code pas forcément compatibles entre elles voire non fonctionnelles...

    Quelques pistes/lectures à me recommander?

    Merci d'avance!

  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
    a tu un lien pour voir si cette page web n'a pas de protection anti robot (vba par exemple) qui empêcherait bien évidement de continuer sur un chemin qui n'a pas de fin
    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
    Membre éclairé
    Homme Profil pro
    autre
    Inscrit en
    Juin 2017
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Juin 2017
    Messages : 261
    Par défaut
    Bonjour Patrick,

    Ci dessous le lien complet :

    https://aida.ineris.fr/liste_documents/1/18023/1

    Je souhaite à atteindre le dernier lien de la page "Consulter la nomenclature au format pdf (Version 47 - avril 2019)" - c'est ce lien qui est modifié à chaque MAJ de cette réglementation..

    Je te remercie pour ton temps!

  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
    je dirais que tu n'a pas besoins de naviguer la page que donne le lien d'en bas C'EST!!!!!! LE PDF!!!!!!!!!!!!!

    tu la pas vu le ".pdf" a la fn de l'url?????
    conclusion

    une requête et adobstream est basta
    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 test()
    Dim chemin As String
    chemin = Environ("userprofile") & "\DeskTop\monpdf.pdf"
    telechargeFichierPdf "https://aida.ineris.fr/sites/default/files/gesdoc/30296/BrochureNom_v47public.pdf", chemin
    End Sub
     
    Sub telechargeFichierPdf(url As String, chemin As String)
        Dim ReQ As Object, oStream As Object
          'On Error Resume Next    'On ne gère pas les erreurs
        Set ReQ = CreateObject("Microsoft.XMLHTTP")
        ReQ.Open "get", url, False
        ReQ.send
        Set oStream = CreateObject("ADODB.Stream")
        oStream.Open
        oStream.Type = 1
        oStream.Write ReQ.responsebody
       oStream.SaveToFile chemin
        oStream.Close
    End Sub
    terminéé ton pdf est sur ton bureau
    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
    Membre éclairé
    Homme Profil pro
    autre
    Inscrit en
    Juin 2017
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Juin 2017
    Messages : 261
    Par défaut
    J'ai bien vu qu'on arrive sur un PDF, mais le mois prochain il risque de ne plus s'appeler "BrochureNom_v47public.pdf" mais "BrochureNom_48public.pdf" si j'ai de la chance!

    Le chemin peut aussi changer! de "gesdoc/30296" à "gesdoc/juin2019" par exemple...

    En revanche, trouver un moyen de "cliquer virutellement" sur le lien "Consulter la nomenclature au format pdf (Version 47 - avril 2019)" quelque soit son nom pour ouvrir la dernière version du pdf est tout l'enjeu.

  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
    ok et ben qué bis répetita
    je navigue toujours dans ie
    je transforme la requete en double requête
    et voila ca récupère le dernier lien document
    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 test()
    Dim chemin As String
    Dim linck$
    chemin = Environ("userprofile") & "\DeskTop\monpdf.pdf"
    telechargeFichier "https://aida.ineris.fr/liste_documents/1/18023/1", , linck
    MsgBox "le dernier lien document de la page est " & vbCrLf & linck
    If linck <> "" Then telechargeFichier "https://aida.ineris.fr/sites/default/files/gesdoc/30296/BrochureNom_v47public.pdf", chemin
    End Sub
     
    Sub telechargeFichier(url As String, Optional chemin As String = "", Optional linck)
        Dim ReQ As Object, oStream As Object
          'On Error Resume Next    'On ne gère pas les erreurs
        Set ReQ = CreateObject("Microsoft.XMLHTTP")
        ReQ.Open "get", url, False
        ReQ.send
      If chemin = "" Then
        With CreateObject("htmlfile")
        .body.innerhtml = ReQ.responsetext
        For Each elem In .all
        If elem.classname = "lien-document" Then linck = Replace(elem.ChildNodes(0).href, "about", "https://aida.ineris.fr") ': MsgBox linck
        Next
        End With
       Else
        If Dir(chemin) <> "" Then Kill chemin
          Set oStream = CreateObject("ADODB.Stream")
        oStream.Open
        oStream.Type = 1
        oStream.Write ReQ.responsebody
       oStream.SaveToFile chemin
        oStream.Close
    End If
    End Sub


    autant pour moi correction
    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
    Sub test()
    Dim chemin As String
    Dim linck$
    chemin = Environ("userprofile") & "\DeskTop\monpdf.pdf"
    telechargeFichier "https://aida.ineris.fr/liste_documents/1/18023/1", , linck
    MsgBox "le dernier lien document de la page est " & vbCrLf & linck
    If linck <> "" Then telechargeFichier linck, chemin
    End Sub
     
    Sub telechargeFichier(url As String, Optional chemin As String = "", Optional linck)
        Dim ReQ As Object, oStream As Object
          'On Error Resume Next    'On ne gère pas les erreurs
        Set ReQ = CreateObject("Microsoft.XMLHTTP")
        ReQ.Open "get", url, False
        ReQ.send
      If chemin = "" Then
        With CreateObject("htmlfile")
        .body.innerhtml = ReQ.responsetext
        For Each elem In .all
        If elem.classname = "lien-document" Then linck = Replace(elem.ChildNodes(0).href, "about:", "https://aida.ineris.fr") ': MsgBox linck
        Next
        End With
       Else
        If Dir(chemin) <> "" Then Kill chemin
          Set oStream = CreateObject("ADODB.Stream")
        oStream.Open
        oStream.Type = 1
        oStream.Write ReQ.responsebody
       oStream.SaveToFile chemin
        oStream.Close
    End If
    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

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Il est préférable de ne traiter qu'un sujet par discussion. Je t'invite donc à créer un nouveau sujet pour le traitement du pdf.

    Cela étant, tu vas galérer si tu ne connais pas pile poil la structure d'un fichier pdf. De plus, des structures pdf différentes peuvent donner un résultat visuel identique. Ainsi, un simple tableau excel de quelques lignes génère un fichier de 65Kb si tu le génère avec Enregistrer Sous d'Excel et de seulement 24Kb si tu le génères avec une imprimante PDF Architect, par exemple. La comparaison des deux fichiers met en évidence des différences importantes entre les deux structures.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Membre éclairé
    Homme Profil pro
    autre
    Inscrit en
    Juin 2017
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Juin 2017
    Messages : 261
    Par défaut
    Bonjour Pierre,

    Entendu, j'ouvre un nouveau post! Je note tes observations.

    Merci!

Discussions similaires

  1. enregister navigation internet
    Par llusca dans le forum Internet
    Réponses: 2
    Dernier message: 21/09/2009, 16h35
  2. Navigation internet programmer.
    Par F.Saad dans le forum C#
    Réponses: 5
    Dernier message: 20/09/2009, 01h02
  3. Réponses: 0
    Dernier message: 01/09/2008, 16h09
  4. logiciel de rapport de navigation internet
    Par remyv87 dans le forum Sécurité
    Réponses: 19
    Dernier message: 16/05/2007, 12h22
  5. Automates de navigation Internet
    Par Scritch852 dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 30/03/2007, 14h09

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