Rechercher des cours avec Excel (Securibourse)
Bonjour à tous,
Je fais mon suivi de portefeuille avec un tableau Excel. Pour rechercher les cours des titres, j'utilisais depuis plusieurs années une requête sur finance.yahoo(http://finance.yahoo.com/d/quotes.csv?s= ...). Le bouton "actualiser les données" déclenchait la mise à jour.
Depuis quelques jours, cette requête ne marche plus. Comme j'avais mis un peu de temps à trouver ça, si quelqu'un connaît une solution simple et rapide, il aura toute ma reconnaissance !
Pierre
Rechercher des cours avec Excel
Je n'ai jamais eu le courage de procéder de la sorte. En partie par manque de temps et car ce serait sans doute trop long à tenir à jour pour mon portefeuille (trop) dispersé.
Cependant, ce qui me freine le plus, c'est d'être à la merci de la moindre relivraison d'un site commercial!
Avec le monde de l'open data, est-ce qu'une plate-forme de type Quandl ou un équivalent ne ferait pas l'affaire pour ce genre de besoin?
D'après ce que je comprends, les données Euronext y seraient en accès gratuit.
Je n'ai pas creusé de près. Mais peut-être est-une solution plus stable désormais que de revamper Yahoo ou Boursorama...
https://www.quandl.com/data/EURONEXT-Euronext-Stock-Exchange
Rechercher des cours avec Excel
Bonjour Pierre,
La communauté des IH a aussi été confrontée au problème:
https://www.devenir-rentier.fr/t176-4
et Dieu (comme dirait Bimbo) s'est rabattu sur le WSJ:
"Il n’y a plus que le WSJ, c’est celle que j’utilise pour XlsValorisation."
Reste à demander à Dieu s'il veut bien communiquer le mode d'emploi. Vu que XlsValorisation est payant, pas sûr qu'il en fasse l'aumône.
--
jean-marie
Quelques exemples disponibles
Pour un usage avec Excel
https://www.quandl.com/data/EURONEXT-Euronext-Stock-Exchange/usage/quickstart/excel
After installing the Quandl Excel Add-in, you can try any of these formulae by pasting them into a cell.
Filter by a single date
This call retrieves Nov 9, 2017 data for EURONEXT/ALMET.
QSERIES("EURONEXT/ALMET", "2017-11-09")
Filter by a date range
This call retrieves data from Nov 7, 2017 to Nov 9, 2017 for EURONEXT/ALMET.
QSERIES("EURONEXT/ALMET", {"2017-11-07", "2017-11-09"})
Retrieve unfiltered time-series
This call retrieves all columns for EURONEXT/ALMET with no filters applied.
QSERIES("EURONEXT/ALMET")
Retieve multiple unfiltered time-series
This call retrieves all columns for EURONEXT/ALMET, EURONEXT/STAL, EURONEXT/ANT with no filters applied.
QSERIES({"EURONEXT/ALMET", "EURONEXT/STAL", "EURONEXT/ANT"})
Rechercher des cours avec Excel
Bonjour Pierre,
En tant que testeur bêta je te recommande d'appuyer 2 fois plus fort sur le bouton "actualiser les données"
Ne me remercie pas, c'est de l'entraide
Bon WE à tous
Rechercher des cours avec Excel
Merci de vos retours. Je ne connaissais pas Quandl; pour le moment, je n'ai pas réussi à utiliser qseries (peut-être incompatible avec ma version d'Office). Je n'ai pas trop le temps ni la motivation pour m'y plonger sérieusement. Je vais continuer mes recherches ... si vous avez d'autres suggestions, je suis preneur !
Pierre
Rechercher des cours avec Excel
Si je n'étais pas aussi fainéant, j'aurais probablement fait un suivi de portefeuille en utilisant le programme de relevé des cours sur bourso pour le JTB. Mais depuis plus de trente ans, je continue de relever les cours chaque week-end sur une feuille de papier à partir de la valorisation indiquée par mon courtier. Va comprendre, Charles!
Si mon programme de relevé des cours sur bourso t'intéresse, il est libre! C'est du Perl donc ça doit pouvoir s'exécuter sur un peu n'importe quoi (enfin, non, peut-être pas sur iOS).
--
jean-marie
Rechercher des cours avec Excel
Bonsoir Jean-Marie,
Merci. Si je ne trouve pas de solution rapide et si je trouve la motivation pour me plonger dans le code, je te fais signe.
Pierre
Rechercher des cours avec Excel
Si tu veux du Python au lieu du Perl: un exemple de recherche de cours sur le site Bloomberg avec plein d'explications, à mon avis facile à bricoler pour chercher n'importe quelle valeur au lieu de l'indice SPX. C'est probablement ce que j'utiliserais pour le JTB si j'avais à refaire le boulot.
https://medium.freecodecamp.org/how-to-scrape-websites-with-python-and-beautifulsoup-59...
--
jean-marie
Rechercher des cours sans Excel
[...]... si vous avez d'autres suggestions, je suis preneur !
Autre suggestion: utiliser le gestionnaire de portefeuille GnuCash (qui gère en fait toute ta compta en partie double si tu en as le besoin et qui est sous licence GPL donc gratuit et avec le programme source). C'est du C mais les utilitaires sont en langages variés (Java, Python et Perl).
Je viens d'essayer, ça m'a pris une journée pour compiler et installer les dépendances, une autre journée pour comprendre comment entrer le portefeuille et ses valeurs. Enfin je lance la mise à jour et... rien ne marche: le programme de recherche des cours sur Bourso n'est pas à jour. Celui avec Yahoo ne marche pas non plus. En fait, je n'en ai pas trouvé un seul qui marche!
Comme c'est du Perl, j'ai plongé dans le code de la recherche Bourso aujourd'hui et hop, ça roule (mon portif actuel par odre alphabétique):
Il me reste à mettre à jour le code officiel avec mes modifs (c'est le module "Finance::Quote" sur CPAN) et ça sera dispo pour tous ceux qui veulent.
--
jean-marie
Si tu tiens vraiment à Excel
C'est possible depuis GnuCash d'exporter le rapport "Portefeuille d'actions" en html et d'ouvrir ce rapport html dans Excel. Je viens d'essayer avec LibreOffice et ça marche: tu obtiens le beau tableau de mon précédent message bien aligné avec les titres et le total.
Il doit aussi être possible de se passer de GnuCash et d'utiliser directement les programmes Perl de Finance::Quote en les appelant depuis Excel. Les données récupérables ne se limitent pas au dernier cours. Voici par exemple les résultats fournis pour IBM puis BNP Paribas:
~$ gnc-fq-dump -v bourso IBM
Finance::Quote fields Gnucash uses:
symbol: US4592001014 <=== required
date: 12/05/2017 <=== required
currency: USD <=== required
last: 155.72 <=\
nav: <=== one of these
price: <=/
timezone: <=== optional
All fields returned by Finance::Quote for stock IBM
stock field value
----- ----- -----
IBM cap: 145121740000
IBM currency: USD
IBM date: 12/05/2017
IBM exchange: NYSE
IBM high: 156.74
IBM isodate: 2017-12-05
IBM last: 155.72
IBM low: 154.68
IBM method: bourso
IBM name: IBM
IBM open: 156.45
IBM p_change: -0.47%
IBM previous: 156.46
IBM success: 1
IBM symbol: US4592001014
IBM volume: 0
~$
~$ gnc-fq-dump -v bourso 1rPBNP
Finance::Quote fields Gnucash uses:
symbol: FR0000131104 <=== required
date: 12/05/2017 <=== required
currency: EUR <=== required
last: 63.51 <=\
nav: <=== one of these
price: <=/
timezone: <=== optional
All fields returned by Finance::Quote for stock 1rPBNP
stock field value
----- ----- -----
1rPBNP cap: 79287980000
1rPBNP currency: EUR
1rPBNP date: 12/05/2017
1rPBNP exchange: Euronext Paris
1rPBNP high: 64.54
1rPBNP isodate: 2017-12-05
1rPBNP last: 63.51
1rPBNP low: 63.16
1rPBNP method: bourso
1rPBNP name: BNP PARIBAS P-A
1rPBNP open: 63.51
1rPBNP p_change: -0.86%
1rPBNP previous: 64.06
1rPBNP success: 1
1rPBNP symbol: FR0000131104
1rPBNP volume: 3370440
~$
--
jean-marie
Rechercher des cours avec Excel
Bonjour
Ci-joint une solution VBA que j'ai enrichi "à ma sauce"... en espérant que ça puisse t'être utile.
Source des données pour la mise à jour= Boursorama
code à insérer dans un module VBA
Dim r As Long
Dim c As Long
Dim lig As Long
Dim i As Integer
Option Explicit
Sub Refresh_Boursorama()
'' !!!
''Outils > Références > Activer
''Microsoft HTML Object Library
''Microsoft XML, v6.0
Dim mXML As MSXML2.XMLHTTP60
Set mXML = New MSXML2.XMLHTTP60
Dim oDoc As MSHTML.HTMLDocument
Set oDoc = New HTMLDocument
Dim Element As IHTMLElement
Dim Elements As IHTMLElementCollection
'affectation des variables
i = 2
lig = ActiveSheet.Range("a65536").End(xlUp).Row
'nettoyage de la zone avant mise à jour
Range("b2:g" & lig).ClearContents
With mXML
For r = i To lig
.Open "GET", "http://www.boursorama.com/cours.phtml?symbole=" & Cells(r, 1).Value, False
.setRequestHeader "DNT", "1"
.send
If .Status = 200 Then
oDoc.body.innerHTML = .responseText
With oDoc.getElementsByTagName("TABLE")(0).Rows
Cells(r, "b").Value = ExtraitNombre(.Item(0).Cells(1).innerText) 'Cours
Cells(r, "c").Value = VBA.Replace(ExtraitNombre(.Item(3).Cells(1).innerText), " ", "") 'volume
Cells(r, "d").Value = .Item(1).Cells(1).innerText 'variation
Cells(r, "e").Value = .Item(2).Cells(1).innerText 'Dernier échange
Cells(r, "f").Value = .Item(8).Cells(1).innerText 'capital échangé
Cells(r, "g").Value = VBA.Replace(.Item(9).Cells(1).innerText, " MEUR", "") 'valo.
End With
End If
Next
End With
Set oDoc = Nothing
Set mXML = Nothing
MsgBox "Mise à jour terminée", vbOKOnly + vbInformation, "Message..."
End Sub
Function ExtraitNombre(chaine)
Dim Reg As Object
Set Reg = CreateObject("VBScript.RegExp")
With Reg
.Global = True: .Pattern = "(.[a-z].).": .IgnoreCase = True
ExtraitNombre = Reg.Replace(chaine, "")
End With
End Function
la feuille Excel en question > en image >>
Rechercher des cours avec Excel
Bonjour
le hasard de mes recherches m a amené sur le site securibourse et sur votre macro.
je l'ai installée tel quel et elle plante sur ces deux lignes :
Cells(R, "f").Value = .Item(8).Cells(1).innerText 'capital échangé
Cells(R, "g").Value = VBA.Replace(.Item(9).Cells(1).innerText, " MEUR", "") 'valo.
et les cours restitués par la macro ne correspondent pas au cours de boursorama.
pom
fii 34,53 19/01/1821:59:57 28.25 EUR 1,59%
mgic 8,7 19/01/1822:00:00 7.1175 EUR 0,00%
sdg
swp 126,49 19/01/1821:44:10 103.48 EUR 0,18%
si vous pouviez me dépanner car je n'ai pas de compétences suffisantes en matière de récupération de cours de bourse sur un site web.Nota, pour récupérer une valeur, j utilise le ticker affecté au titre.
Merci par avance
Cordialement
F LAUNAY
Rechercher des cours avec Excel
si vous pouviez me dépanner car je n'ai pas de compétences suffisantes en matière de récupération de cours de bourse sur un site web.Nota, pour récupérer une valeur, j utilise le ticker affecté au titre.
Bonjour,
Je n'ai jamais essayé cette macro vu que je n'ai pas Excel, mais il faut utiliser le symbole boursorama et pas le ticker. Par exemple la société LISI a pour mnemo (ticker?) le code FII et pour symbole boursorama le code 1rPFII. Si vous mettez FII au lieu de 1rPFII vous obtenez sur boursorama les cotations de FED INVESTORS-B http://www.boursorama.com/cours.phtml?symbole=FII au lieu de celles de LISI http://www.boursorama.com/cours.phtml?symbole=1rPFII
C'est là votre erreur.
--
jean-marie
Rechercher des cours avec Excel
Bonjour
Merci pour votre réponse aussi rapide, la macro fonctionne parfaitement après avoir modifié cette ligne de code :
.Open "GET", "http://www.boursorama.com/cours.phtml?symbole=" & Cells(R, 1).Value, False
en
.Open "GET", "http://www.boursorama.com/cours.phtml?symbole=" & "1rp" & Cells(R, 1).Value, False
j'ai ensuite adapté le reste du code à mes besoins.
Message aux utilisateurs de ce forum :
si vous souhaitez obtenir un fichier fonctionnel avec cette macro, contactez-moi en écrivant flymenet@yahoo.fr, je vous renvoie le fichier.
Cordialement
Rechercher des cours avec Excel
C'est une simplification un peu rapide: toutes les valeurs cotées sur Paris n'ont pas un symbole qui commence par 1rP. Par exemple beaucoup de petites valeurs ont un symbole boursorama qui commence par 1rEP (Nextedia par exemple). Et cette méthode vous empêche d'avoir les cotations sur les autres places que Paris.
Je pense que la meilleure solution est d'utiliser le symbole boursorama au lieu du ticker.
--
jean-marie
Rechercher des cours avec Excel
Bonjour
Les sites que je consulte –Boursier, zonebourse, abc-bourse, investir- utilisent le ticker ou le code isin pour les recherches de valeur.
Le site abc-bourse met chaque jour à disposition un fichier de valeurs au format excel avec le choix ticker ou code Isin. Je télécharge ce fichier au quotidien à 18 h15, il me donne la côte de 660 valeurs. C’est à ma connaissance le site le plus efficace pour remplacer le défunt yahoo finances qui n’autorise plus le téléchargement.
Enfin, le préfixe 1rp inclus dans le code de la macro peut être mis en variable optionnel au choix de l’utilisateur.
Rechercher des cours avec Excel
Bonjour à tous,
Merci beaucoup. A partir du fichier proposé par Launay, j'ai fait quelques modifications pour partir du symbole Boursorama et j'ai modifié mon fichier Excel. Tout marche nickel de nouveau.
Cependant, j'ai voulu enrichir mon tableau et extraire quelques données supplémentaires (% du capital échangé, par exemple, comme proposé par isee), et là, j'ai un souci : pour Hiolle (1rpHIO), le code :
Cells(r, "f").Value = .Item(8).Cells(1).innerText 'capital échangé
ne renvoie pas le capital échangé mais le cours de réservation à la baisse. En consultant la page Boursorama pour cette valeur, on voit bien qu'elle diffère pour ce titre (pas d'affichage du % de capital échangé, ni de la valorisation).
Pour le moment, je vais me contenter de ce que j'avais précédemment, c'est déjà super. Merci encore pour cette aide collective !
Pierre
Rechercher des cours avec Excel
Oubliez Excel, ça ne va pas du tout vous aider.
Vous devez utiliser Python pour le scrap web.
Consultez cet article: https://likegeeks.com/python-web-scraping/
Il comprend de nombreux exemples pour extraire les valeurs des pages Web.
Cordialement,