Naviger sur Internet et télécharger le fichier désigné par l'adresse

Salut,

J'aurais besoin de télécharger des fichiers, tous en pdf, sur Internet pour les stocker en local avec un nom dépendant des valeurs de TextBox.

Pour illustrer, un des sites concernés est https://ad.easa.europa.eu/. L'idée serait que :

- Un CommandButton ouvre Internet pour que l'opérateur puisse naviguer et chercher le fichier à télécharger

- Quand l'opérateur clique sur l'icone pdf le fichier est téléchargé, renommé et stocké à l'emplacement prévu.

Là où je bloque c'est d'ouvrir Internet " dans " Visual Basic, dans le sens où vba est " informé " des actions de l'opérateur dans le navigateur Internet et déclenche la procédure de téléchargement / renommage / enregistrement dès que l'adresse cliquée se termine par .pdf.

J'espère que je me fais bien comprendre.

Si en plus ça permet de se connecter par saisie automatique des identifiants / mots de passe quand on arrive sur une page d'identification ce serait Byzance (ça je devrais pouvoir gérer)...

Merci d'avance.

Manu

Salut,

C'est vraiment mission impossible ?

Du coup est ce qu'il existe une autre manière de faire ? J'ai besoin de récupérer un fichier pdf sur le net de le renommer et l'archiver sur le disque.

Manu

Bonjour,

Je ne suis pas certain d'avoir totalement compris votre besoin mais s'il s'agit d'automatiser la navigation sur internet grâce à VBA, alors c'est possible mais assez compliqué et long (en durée mais pas en volume de code).

Il faut tout d'abord ajouter 2 références (menu VBE : outils/références) : Microsoft Internet Controls et Microsoft HTML Object Library.

Il faut obligatoirement utiliser Internet Explorer avec ce moyen mais il existe d'autres solutions (Selenium notamment, pour d'autres navigateurs, que je ne connais pas).

Cdlt,

Non pas d'automatisation, mais juste permettre à l'opérateur de navigueur sur le Net et que le fichier pointé par le lien soit rapatrié en local sur le disque.

Juste un exemple avec le lien que j'ai donné plus haut (https://ad.easa.europa.eu/) :

- L'opérateur clique sur un CommandButton (ou autre, peu importe la manière dont est lancée l'action)

- Une fenêtre Internet s'ouvre (peu importe le navigateur j'ai pas de préférences) et il cherche manuellement le document dont il a besoin

- Quand il clique sur l'icone du site qui normalement ouvre le document, Vba le télécharge, le renomme et l'enregistre sur le disque).

Mais la recherche reste manuelle, tous les sites n'ont pas la même architecture et il est impossible de prévoir quels sites l'opérateur va aller consulter. Le seul critère pour déclencher le téléchargement, c'est une adresse Internet qui se termine par .pdf.

Mon problème est juste de faire en sorte que Vba puisse accéder à l'adresse de la page Internet.

Je vais aller voir le tuto.

Manu

Bonjour manu, hello 3GB

Je ne suis pas certain d'avoir totalement compris votre besoin

moi non plus du reste

- L'opérateur clique sur un CommandButton (ou autre, peu importe la manière dont est lancée l'action)

- Une fenêtre Internet s'ouvre (peu importe le navigateur j'ai pas de préférences) et il cherche manuellement le document dont il a besoin

le plus simple, c'est alors un lien hypertexte

il cherche manuellement le document dont il a besoin

- Quand il clique sur l'icone du site qui normalement ouvre le document, Vba le télécharge, le renomme et l'enregistre sur le disque).

lequel document est de fait chargé et enregistré sur le disque

Mon problème est juste de faire en sorte que Vba puisse accéder à l'adresse de la page Internet.

donc juste par un lien hypertexte https://support.microsoft.com/fr-fr/office/lien-hypertexte-lien-hypertexte-fonction-333c7ce6-c5ae-41...

" lequel document est de fait chargé et enregistré sur le disque "

Ca pourrait être une solution.

Dans ce cas je peux gérer le renommage et l'archicage du fichier à partir du dossier Téléchargements, mais comment faire déclencher cette procédure au bon moment et pour identifier le fichier téléchargé ?

Manu

Re-

" lequel document est de fait chargé et enregistré sur le disque "

Ca pourrait être une solution.

Dans ce cas je peux gérer le renommage et l'archicage du fichier à partir du dossier Téléchargements, mais comment faire déclencher cette procédure au bon moment et pour identifier le fichier téléchargé ?

Manu

je ne crois pas que ce soit excel qui t'aidera alors à faire ceci; si le clic est déclenché à partir du net, je ne connais que la solution "manuelle" qui consiste à aller dans ls téléchargements et renommer manuellement dans l'explorateur windows.

Bonjour,

Une solution consisterait à rechercher le document dans le dossier téléchargements selon son extension et de le renommer en fonction de sa date de création, encore mieux si tu connais le nom du fichier.

Mais ça devrait se faire en "2" temps : clic sur le lien, navigation manuelle de l'opérateur te téléchargement, retour sur excel pour recliquer et renommer. Il faudrait bien définir le tout en amont...

Et la solution la plus intégrée consisterait à ramener sur excel les liens, cliquer sur excel et enregistrer avec le nom indiqué sur la colonne adjacente par exemple.

    For Each lien In page.getElementsByTagName("a")
        url = lien.getAttribute("HREF")
        invit = lien.innerHTML
        If url Like "*formation*" Then
            Cells(lig, 1) = url
            Cells(lig, 2) = invit
            lig = lig + 1
        End If
    Next lien
Rechercher des sujets similaires à "naviger internet telecharger fichier designe adresse"