Utilisation navigateur internet via macro VBA

Résolu
tchernosplif Messages postés 600 Date d'inscription   Statut Membre Dernière intervention   -  
tchernosplif Messages postés 600 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'essaye de copier/coller une page internet dans excel en conservant sa mise en page.

Si j'ouvre l'adresse internet dans excel, j'obtiens le code html.

Il faudrait que j'ouvre une page internet (url cellule F23) dans firefox (par exemple) via une macro, que je sélectionne et copie tout le contenu de la page internet et le colle dans excel (collage spécial / valeur dans cellule G18) ; de manière à ne pas avoir les balises html.

En effet, il me serait difficile de re-filtrer les informations à partitr du code html.

Savez-vous comment faire celà en VBA ?

récapitulatif:
Dans Excel
-copier cellule F23 (adresse internet)
-ouvrir l'adresse copiée dans un navigateur internet (firefox chez moi)

Dans Firefox (sendkeys)
-sélectionner tout le contenu de la page internet(Ctrl+A)
-copier le contenu sélectionné (Ctrl+V)

dans Excel
-collage spécial/ valeur cellule G18

~~Il faudra peut être refermer la fenêtre internet pour éviter d'en ouvrir trop, car cette macro va tourner dans une boucle~~


A voir également:

2 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 266
 
Bonjour,

Ta page internet n'est pas accessible via 'données / données externes / nouvelle requete sur le web...' ? (sur 2003)
Ainsi tu récupères partie ou toute la page dans une feuille, que tu peux rafraichir automatiquement.

exemple requete web simple
Requetes web multiples

eric

edit: le 2nd exemple fonctionnait à l'époque de sa création. Les pages ont peut-être changé dans leur structure mais le principe de la macro reste le même...
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 266
 
edit2 : pour le 2nd exemple :
- clic-droit sur les données Feuil1,
- 'modifier les données'
- cocher en haut à gauche pour récupérer toute la page (ne récupérer que le bloc de données voulu n'est plus possible)
Bien sûr les données voulues ont changé d'emplacement sur la Feuil1

eric
0
tchernosplif Messages postés 600 Date d'inscription   Statut Membre Dernière intervention   246
 
Bonjour Eric,

Je ne connaissais pas cette fonctionnalité.
Dans le fichier n°1, je n'arrive pas à coller l'adresse à visiter (Ctrl+V ne fonctionne pas)
En plus la fenêtre s'ouvre sur search.conduit.com, j'ai l'impression d'avoir choppé une merde.
Dans le fichier N°2, je récupère le code html
Je vais essayer d'approfondir mes recherches à ce sujet.

Pour l'instant voila à quoi ressemble mon code

Sub Aspirine()

'il faudrait remplacer http://www.turlututu.com par l'adresse en cellule F23

Shell("C:\Program Files\Mozilla Firefox\firefox.exe http://www.turlutututu.com", vbNormalFocus)

'la page firefox s'ouvre bien

'Sélectionne tout - Ctrl+a - c'est surement faux
SendKeys "^(a)", True

'Copie - Ctrl+c - c'est surement faux
SendKeys "^(c)", True

Application.Wait (Now + TimeValue("0:00:01"))

Windows("monfichier.xls").Activate

Application.Wait (Now + TimeValue("0:00:01"))

Range("G18").Select
Application.CutCopyMode = False
ActiveSheet.PasteSpecial Format:="Texte", Link:=False, DisplayAsIcon:= _
False
End Sub
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 266
 
Re,

Dans le fichier n°1, je n'arrive pas à coller l'adresse à visiter (Ctrl+V ne fonctionne pas)
Fais un clic-droit dans les données (Feuil1!B3) puis 'modifier la requete...'
Le ctrl+v marche dans la barre d'addresse, maintenant tous les sites ne s'ouvrent pas forcément.
En plus la fenêtre s'ouvre sur search.conduit.com, j'ai l'impression d'avoir choppé une merde.
C'est l'adresse qui est incorrecte non ?

Le mieux serait de connaitre ton lien et la zone qui t'interesse pour confirmer si tu peux passer par là.

eric
0
tchernosplif Messages postés 600 Date d'inscription   Statut Membre Dernière intervention   246
 
J'ai compris mon erreur, si je copie directement la cellule, le Ctrl+V ne fonctionne pas, par contre si je copie l'url dans la barre de formule, alors le Ctrl+V fonctionne.

Bizarrement j'obtiens le code html de la page, j'ai pourtant essayé de cocher/décocher toutes les options de mise en page...
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 266
 
Normalement tu devrais avoir :
- soit rien : aucune fleche jaune n'est cochable sur la page web
- soit uniquement le texte (choisir 'aucune mise en forme')

Passe ton lien (par mp si tu préfères) si tu veux que je jette un oeil...
0
tchernosplif Messages postés 600 Date d'inscription   Statut Membre Dernière intervention   246
 
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 266
 
Effectivement il y a les balises (peut-être dû à la redirection).
Il ne te reste plus qu'à rechercher tes données dedans en te calant sur des chaines toujours présentes et en éliminant l'inutile.
Si tu ne mets que l'url finale tu n'obtiens que le texte. Par contre ccm fait parti des sites ou tu ne peut prendre que la page entière.

eric
0
tchernosplif Messages postés 600 Date d'inscription   Statut Membre Dernière intervention   246
 
ce n'est pas une redirection, mais des informations parsées en php.

j'ai bien envisagée de récupérer les données à l'intérieur du html, mais celà rallongerai beaucoup la procédure. En effet, au lieu d'ouvrir une page contenant toutes les infos, je serais obligé d'ouvrir la page titre, la page catégories, la page turlututu ...et de les importer dans différentes colonnes car le contenu de ces pages (le nombre de lignes) est variable.

Est-ce vraiment déconnant de vouloir utiliser des Sendkeys ?

Sinon j'ai une alternative avec le logiciel supermacro, mais j'essaie de me désintoxiquer ^^
0