IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Correspondance code propre Morningstar et code ISIN d'un fonds


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Novembre 2018
    Messages : 1
    Par défaut Correspondance code propre Morningstar et code ISIN d'un fonds
    Bonjour,

    y a-t-il un moyen d’automatiser la recherche du code propre à Morningstar.fr pour ces fonds à partir du code ISIN.
    Par exemple, pour le fonds dont l'ISIN est FR0011363738, le code propre à Morningstar est F00000POB9, il apparaît dans l'adresse des infos sur le fond : http://www.morningstar.fr/fr/funds/s...?id=F00000POB9

    J'ai d'autre part une petite question pour une macro qui utilise des requêtes pour aller chercher des données sur MS :
    que puis je indiquer (à la place de ""http://www.morningstar.fr/fr/funds/snapshot/snapshot.aspx?id=F00000POB8&tab=3"") pour permettre l'automatisation, sachant que le lien sera copié en cellule A1 dans ma feuille excel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.Queries.Add Name:="Table 2", Formula:= _
            "let" & Chr(13) & "" & Chr(10) & "    Source = Web.Page(Web.Contents(""http://www.morningstar.fr/fr/funds/snapshot/snapshot.aspx?id=F00000POB8&tab=3"")),".........
    Merci d'avance !

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Il suffit de remplacer le code par une séquence de texte qui n'a aucune chance d'apparaitre dans cette chaine (par exemple "YYYYYYYY") et d'utiliser la fonction Replace pour lui substituer le code souhaité.
    https://docs.microsoft.com/fr-fr/off...place-function

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    Bonjour
    suite a ton MP
    j'ai regardé morningstar mis a part le design ca na pas changer il faut utiliser le moteur de recherche interne


    l'url du moteur de recherche interne c'est :
    exmple: "http://www.morningstar.fr/fr/funds/SecuritySearchResults.aspx?search=fr0011363738&type="

    et comme tu me l'a demandé en requete vba
    le voici
    j'en ai fait une petite fonction geturl
    teste avec plusieur isin voir si ca match
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub test()
        MsgBox resheachUrL_by_ISIN("fr0011363738")
    End Sub
    '
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Function resheachUrL_by_ISIN(ByVal ISIN As String) As String
        Dim Url$, code$
        resheachUrL_by_ISIN = "NoFound"
        Url = "http://www.morningstar.fr/fr/funds/SecuritySearchResults.aspx?search=" & ISIN & "&type="
            With CreateObject("microsoft.xmlhttp")
            .Open "get", Url, False
            'Demande GET /fr/funds/SecuritySearchResults.aspx?search=fr0011363738&type= HTTP/1.1
            .SetRequestHeader "Accept", "text/html, application/xhtml+xml, */*"
            .SetRequestHeader "Accept-Language", "fr-FR"
            .SetRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
            .SetRequestHeader "Accept-Encoding", "gzip, deflate"
            .SetRequestHeader "Host", "www.morningstar.FR"
            .SetRequestHeader "DNT", "1"
            .SetRequestHeader "Connection", "Keep - Alive"
            .SetRequestHeader "Cache-Control", "no-cache"
            .send
            code = .responsetext
        End With
         With CreateObject("htmlfile")
            .body.innerhtml = code:        .body.innerhtml = .getelementsbytagname("TABLE")(1).outerhtml
           If .getelementsbytagname("a").Length <> 0 Then
           resheachUrL_by_ISIN = Replace(.getelementsbytagname("a")(0).href, "about:", "http://www.morningstar.fr")
        End If
        End With
    End Function
    et pour une eventuelle utilisation en formule dans un sheets
    exemple en colonne "A" j'ai les ISIN et en colonne"B" je met dans la B2 pour A2
    =resheachUrL_by_ISIN(A2)
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. Qu'est ce que cela veux dire un "code propre" selon-vous ?
    Par kagura dans le forum Général Conception Web
    Réponses: 45
    Dernier message: 09/02/2016, 14h22
  2. [code propre] Lister les fichiers de repertoires
    Par laclac dans le forum Langage
    Réponses: 9
    Dernier message: 01/08/2007, 00h54
  3. Réponses: 8
    Dernier message: 16/11/2005, 14h11
  4. Réponses: 2
    Dernier message: 05/07/2005, 14h46
  5. Code propre ? :)
    Par Orus dans le forum C++
    Réponses: 24
    Dernier message: 09/12/2004, 18h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo