En VBA gérer la boite windows 'Télécharger un fichier'
#1
Aspirant XLPages

Inscription: 07/03/2008
De Amiens

Messages: 33

Système d'exploitation:
PC
Version Excel utilisée:
2002,2003,2010
Posté le : 12-08-2009 11h24

Bonjour,
Je tente de vous exposer au mieux mon besoin.

La récupération de fichier (6) hebdo  déposés sur une page html.
La récupération se fait manuellement actuellement avec ouverture de la boite de dialogue Windows: Télécharger le fichier option enregistrer

l'objectif est de les récupérer automatiquement via Excel et en code VBA

Le code source de la page HTML donne pour information
(j'ai retiré quelques éléments de code)

:tbody:id="ctl00_contentMaster_listeFichiers" : tr class="pair" :
:a href="?p=5&d=6&u=-1&r=481&dl=0"> Le fichier à télécharger : 12/08/2009 :762 Ko
img src="../img/s.gif" title="Excel" class="cab"

:a title="Excel" class="cab"
:tbody:

Comment manipuler la boite de dialogue 'Télécharger le fichier' (détection) en VBA.
Hors Ligne
Rapport   Haut 

Re: En VBA gérer la boite windows 'Télécharger un fichier'
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 12-08-2009 14h14
Bonjour JackyAmiens, le Forum,

Que souhaites-tu faire exactement ? Récupérer automatiquement un fichier xls (en indiquant son URL) et l'ouvrir directement dans Excel ?

Si oui, la solution simple qui consiste à utiliser :
   ThisWorkbook.FollowHyperlink "http://...ICI L'URL ...xls"
ne te conviendrait-elle pas ?

Cordialement,


Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: En VBA gérer la boite windows 'Télécharger un fichier'
#3
Aspirant XLPages

Inscription: 07/03/2008
De Amiens

Messages: 33

Système d'exploitation:
PC
Version Excel utilisée:
2002,2003,2010
Posté le : 13-08-2009 14h17

Bonjour Didier myDearFriend,

Oui l'idée de base était de pouvoir télécharger un fichier présent sous un lien hypertext.
Ce fichier est du type toto.cab (compression d'un xls).

Le problème est situé dans la page html (qui doit contenir un script).

Dans la page Html (code source) le lien du fichier est déclaré sous cette forme
href="?p=5&d=6&u=-1&r=481&dl=6">LeFichier<

J'ai tenté à partir d'une capture image (voir fichier) les choix

'ThisWorkbook.FollowHyperlink http://chemin/catalogue?p=5&d=6&u=-1&r=481&dl=6
puis
'ThisWorkbook.FollowHyperlink http://chemin/p=5&d=6&u=-1&r=481&dl=6'

et d'autres variantes pour un résultat négatif.

Mon idée est de contourner la problématique.

Par excel et en VBA, aller sur la page HTML (pas de problème, j'avais trouvé il y a un an ici une aide super  )
Simuler le clic sur le lien (en cours de recherche)
Gérer la boite Windows 'Téléchargement de fichier' pour enregistre le fichier dans un répertoire spécifique


La seconde étape sera en suite la décompréssion du fichier, l'extraction des TCD, la remise en forme en un seul tableau.
Mais ceci est une autre histoire.

Cdlt, Jacky

P.S: Je pars en vacance ce soir sans savoir si j'aurai un acces internet fiable. A+ sur le forum

Hors Ligne
Rapport   Haut 

Re: En VBA gérer la boite windows 'Télécharger un fichier'
#4
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 13-08-2009 21h00
Bonsoir JackyAmiens, le Forum,

Ok, je vois pour le problème du lien sur le fichier qui n'est pas un lien direct sur ce dernier (c'est un peu ce qu'on retrouve dans le présent site pour les fichiers en section téléchargements). Mais pour ma part, ton entreprise est vaine et tu te lances dans quelques choses qui me semble peu viable...

Admettons que tu simules le clic sur le lien, mais après, comment vas-tu gérer la boîte de dialogue "Télécharger" ? A mon avis, là, le meilleur moyen c'est encore de paramétrer ton navigateur pour télécharger ou ouvrir le fichier directement, sans passer par cette boite de dialogue (sauf erreur, c'est possible dans IE et aussi dans FF).
Avec un peu de chance donc, on passe déjà là un cap important, mais après, que fais-tu du fichier .cab ? Qu'il soit déjà ouvert ou simplement téléchargé sur le disque dur...
Non, pour moi, tout ce chemin tortueux me semble trop complexe pour envisager un automatisme qui tienne vraiement la route... Désolé.

Cordialement,


Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: En VBA gérer la boite windows 'Télécharger un fichier'
#5
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 13-08-2009 22h52
Bonjour JackyAmiens,

À ce que je vois tu cherches à te compliquer la vie, c'est parfois bon signe mais pas toujours.
À la lecture de ton premier courriel le a href="?p=5&d=6&u=-1&r=481&dl=0" me semble du Server Side Scipting (ASP ou PHP ou je-ne-sais-trop) qui n'est pas utilisable tel quel.

À la suggestion de Didier il serait effectivement plus simple de récupérer le fichier si la balise de la page avait l'allure de a href="http://www.OuDonc.fr/Telechargements/MonTrucChouette.cab" ou .xls ou quoi que ce soit d'autre.  Ce qui n'est manifestement pas le cas.

Pour ce qui est de piloter en automatique la boîte de téléchargement d'Internet Explorer ou de FireFox bonjour la chance.  La chose m'apparaît, au premier abord, difficile voire vaine.

Il y a peut-être moyen de s'y prendre autrement.
Peux-tu indiquer l'URL de la page visée par tes démarches?  Histoire d'y voir plus clair.

Cordialement,

Guy




Hors Ligne
Rapport   Haut 

Re: En VBA gérer la boite windows 'Télécharger un fichier'
#6
Aspirant XLPages

Inscription: 07/03/2008
De Amiens

Messages: 33

Système d'exploitation:
PC
Version Excel utilisée:
2002,2003,2010
Posté le : 29-09-2009 11h05
Bonjour,

Je passe ma question en résolu bien que je n'ai pas trouvé de solution à ce jour, mais cela n'est que partie remise.

Merci à tous les intervenants pour leurs conseils et suggestions.

J.B
Hors Ligne
Rapport   Haut 

Re: En VBA gérer la boite windows 'Télécharger un fichier'
#7
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 29-09-2009 21h33
JackyAmiens, Guy, le Forum,

Citation :
JackyAmiens a écrit : Bonjour,

Je passe ma question en résolu bien que je n'ai pas trouvé de solution à ce jour, mais cela n'est que partie remise.

Merci à tous les intervenants pour leurs conseils et suggestions.

J.B
Ce sujet n'est visiblement pas résolu, il n'y a donc aucune raison de le clôturer comme tel.
Par conséquent, je supprime le flag [résolu] de ce topic...

Je te souhaite tout de même bonne chance dans la recherche d'une solution qui te convienne.

Cordialement,


Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: En VBA gérer la boite windows 'Télécharger un fichier'
#8
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 29-09-2009 21h54

Bonsoir Didier, JackyAmiens,

La partie centrale de la première question se lisait
...

:tbody:id="ctl00_contentMaster_listeFichiers" : tr class="pair" :
:a href="?p=5&d=6&u=-1&r=481&dl=0"> Le fichier à télécharger : 12/08/2009 :762 Ko
img src="../img/s.gif" title="Excel" class="cab"

:a title="Excel" class="cab"
:tbody:

...

Le :a href="?p=5&d=6&u=-1&r=481&dl=0"> Le fichier à télécharger : 12/08/2009 :762 Ko ne correspond à rien que je connaisse.
Sinon un bout de HTML mal formé.
En Html la chose aurait dû se lire : <a href="?p=5&d=6&u=-1&r=481&dl=0">Le fichier à télécharger</a> avec l'adresse de base donnée quelque part dans le fichier CSS de la page ou bien dans l'en-tête de la page, peu importe.

Imaginons, par exemple que l'adresse de base soit http://www.UnSite.fr/LaPageDeBase.php alors la référence, lors d'un clic sur la balise <a> entraîne l'ouverture de la page http://www.UnSite.fr/LaPageDeBase.php ... p;u=-1&r=481&dl=0 avec tous les paramètres à la fin.

Alors JackyAmiens pourrais-tu donner l'URL complet de la page qui porte ce code?

Cordialement,

Guy


Hors Ligne
Rapport   Haut 

Re: En VBA gérer la boite windows 'Télécharger un fichier'
#9
Aspirant XLPages

Inscription: 07/03/2008
De Amiens

Messages: 33

Système d'exploitation:
PC
Version Excel utilisée:
2002,2003,2010
Posté le : 30-09-2009 11h18
Bonjour,

Je ne peux pas vous transmettre le lien.
Il abouti sur une page d'un intranet.

Après quelques recherche, je reformule ma demande

le lien pour aller sur la page est
http://boutique-datafactory.com./page ... amp;d=6&r=483#rep_483

le lien actif sur l'objet de récupération du fichier CAB
est de la forme

http://boutique-datafactory.com./page ... ;u=-1&r=483&dl=13

En mettant ce lien dans le navigateur, je provoque la boite de dialogue "windows ou internet" téléchargement de fichier avec les boutons : ouvrir,enregistrer, annuler.

Mon choix c'est d'enregistrer


le fichier CAB est un fichier compressé
Hors Ligne
Rapport   Haut 

Re: En VBA gérer la boite windows 'Télécharger un fichier'
#10
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 30-09-2009 13h05
Bonjour,

Deux liens vers des méthodes de téléchargement de fichiers.
Les deux méthodes utilisent des API, si tu travailles sous MAC pas de chance.

http://jacxl.free.fr/cours_xl/cours_xl_jac.html#ouvrir_web_suite
http://www.vbfrance.com/codes/TELECHA ... ARTIR-URL-HTTP_35410.aspx

Guy

Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes