Utilisation navigateur internet via macro VBA

Résolu/Fermé
tchernosplif Messages postés 600 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 - Modifié par tchernosplif le 30/10/2011 à 00:25
tchernosplif Messages postés 600 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 - 30 oct. 2011 à 16:37
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 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
Modifié par eriiic le 30/10/2011 à 09:43
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 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
Modifié par eriiic le 30/10/2011 à 09:48
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 dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 244
Modifié par tchernosplif le 30/10/2011 à 10:57
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 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
30 oct. 2011 à 11:03
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 dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 244
30 oct. 2011 à 11:12
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 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
Modifié par eriiic le 30/10/2011 à 11:18
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 dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 244
30 oct. 2011 à 11:52
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
30 oct. 2011 à 12:22
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 dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 244
30 oct. 2011 à 12:36
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