Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1422 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Screener marché boursiers ( Macro Excel )

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Screener marché boursiers ( Macro Excel )

n°2270575
valentino1​6
Posté le 30-11-2015 à 08:33:23  profilanswer
 

Bonjour à tous, dans le cadre de mes activités d'investisseur en bourse, et après avoir longtemps cherché, un petit coup de main m'aiderai beaucoup !
 
 A partir d'une feuille Excel contenant des liens hypertextes en colonne A, je cherche à obtenir un renvoi automatique d'une information dans la page ouverte par ce lien hypertexte, toujours au même endroit.
 
 Le lien ci dessous donne la liste des actions Françaises cotées en bourse via morningstar.fr
 
http://tools.morningstar.fr/fr/sto [...] geId=fr-FR
 
 je fais mon copier coller du listing sur Excel et j'aimerais un renvoi de l'information caractéristiques -> Cours/actif net qui se situe en bas à droite de la fiche société ouverte par le lien hypertexte
 
 Par exemple pour la première de la liste :  
 1000Mercis SA, je cherche le renvoi suivant Cours/actif net = 2.04.
 4Service Cloud, la rien à renvoyer ( c'est une petite société et mornigstar n'a pas les infos)
 A toute vitesse, pareil
 A2micile, pareil  
 Ab science Cours/actif net = -34.70
 
 Le volume pouvant atteindre presque 1400 sociétés à la fois, le fait de tout ouvrir manuellement n'arrange pas mes yeux et prend du temps, c'est pourquoi vos idées m'intéressent.
 
 Merci pour votre aide  
 Valentin

mood
Publicité
Posté le 30-11-2015 à 08:33:23  profilanswer
 

n°2270583
antac
..
Posté le 30-11-2015 à 16:55:01  profilanswer
 

Bonjour,
 
Je ne sais pas si c'est possible en VBA, mais de toute façon, pose-toi la question de savoir si légalement tu as le droit de faire un robot pour récupérer ce genre d'informations...

n°2270587
valentino1​6
Posté le 30-11-2015 à 18:52:11  profilanswer
 

Bonsoir Atac,  
 
Merci pour ta recomandation
 
Pour le moment le procède manuellement avec une macro qui ouvre les liens hypertextes par lots de 200, puis je ferme au fur et à mesure du visionnage de l'info.
 
Là c'est juste pour gagner 1 jour ou 2 de travail, mais effectivement il faudrait que je leur en parle avant de lancer la moulinette

n°2270588
Marc L
Posté le 30-11-2015 à 18:56:28  profilanswer
 

 
           Bonjour, bonjour !
 
           C'est souvent possible, tout dépend en fait de la programmation du site …   Mais ce n'est pas pour autant autorisé !
 
           Il y a tellement d'exemples sur le Web avec différentes méthodes,
           commencer déjà par l'existant d'Excel depuis le menu Données,  A partir du Web  …  (QueryTable en VBA)
 
           Réserver en dernier recours le pilotage d'Internet Explorer assez lent (voir l'exemple de ce forum dans une discussion récente),
           le mieux étant d'utiliser l'outil d'inspection interne à un navigateur afin de reproduire la requête utilisée …
 
           Sans compter les sites se chargeant de collecter les données …
           Bref, en effectuant une recherche digne de ce nom et en se sortant les doigts, il y a des possibilités !
 

n°2270627
rufo
Pas me confondre avec Lycos!
Posté le 01-12-2015 à 11:18:57  profilanswer
 

Outre le fait que pour un tel volume de requêtes, il faut conatcter le site pour demander l'autorisation de leur pomper leurs données (ça ne passera pas inaperçu dans les logs du serveur web du site concerné), le VBA n'est, à mon avis, pas le langage le plus adapté.
 
En 1), je verrais plutôt un script en Perl, PHP ou Python qui, pour chaque URL, va extraire les données souhaitées en manipulant le DOM du HTML de la page. En PHP, il existe les libs Snoopy ou mieux et plus complet, SimpleTest, qui permet de simuler un navigateur web basique (post de formulaire, ouverture de liens, récup du html, extraction de portions...). Y'a aussi cette lib, Simple html dom : http://simplehtmldom.sourceforge.net/
 
2) un script en AutoIt vu que tu es sous Windows. La syntaxe est proche du VBA et il dispose de fonctions pour manipuler des url. Autre avantage : il est possible de compiler en exe le script pour le rendre plus facilement déployable ;)
 
3) une petite appli en C# ou java. Mais là, on rentre de qq chose de plus "bourrin" et demande sans doute plus de compétences en dév. :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2270630
gilou
Modérateur
Modzilla
Posté le 01-12-2015 à 11:38:37  profilanswer
 

> En 1), je verrais plutôt un script en Perl,
 
Clair, utilisation du module WWW::Mechanize s'il y a des interactions avec des boites de dialogue, et LWP ou LWP::Simple directement sinon. Et utilisation de Excel::Writer::XLSX pour écrire le document excel.
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2270632
rufo
Pas me confondre avec Lycos!
Posté le 01-12-2015 à 12:47:36  profilanswer
 

Je ne pratique pas le Perl, c'est pour ça que j'ai proposé PHP avec des libs que j'ai déjà utilisées. Mais je me doutais bien qu'il y avait des équivalents en Perl et certainement en Python ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2270647
Marc L
Posté le 01-12-2015 à 16:15:26  profilanswer
 

 
            Tout dépend du design du site mais je récupère sans souci des données de pages Web que ce soit en VBScript ou en VBA
            en reproduisant la requête utilisée lors de la navigation via un objet WinHttp.WinHttpRequest ou MSXML2.XMLHttp
            comme bien d'autres …
 
            En dehors d'un outil spécifique à Chrome cité dans le lien au sein de la discussion récente,
            j'ai oublié de citer l'outil selenium-VBA permettant de piloter différents navigateurs dont même un ghost
 
            Mais le plus rapide en VBA est la requête, quand c'est possible …
 

n°2270670
valentino1​6
Posté le 01-12-2015 à 21:18:32  profilanswer
 

Je tiens à tous vous remercier pour vos partages, malgré mon niveau basique en programmation, je vais m'instruire au plus vite..
Dès demain je vais commencer à appliquer tous vos conseils.
Je vous tiens au courant, bonne soirée


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Screener marché boursiers ( Macro Excel )

 

Sujets relatifs
Excel : Code macro pour aller chercher les données d'un autre fichierRecherche de données excel sur 2 tableaux à la fois
[Excel] De l'art de représenter un graphique de répartition ![EXCEL] Associé nombre à mot depuis une liste déroulante
[EXCEL] Macro addition + historique[EXCEL] Selectionner cellule avec 2 paramètres
[Excel/VBA] Pivot table - Filtrer automatiquement sur une liste d'IDMacro rechercher remplacer liens hypertexte EXCEL 2010
Plus de sujets relatifs à : Screener marché boursiers ( Macro Excel )


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR