Modifier un macro pour télécharger des données d'internet

Bonjour Steelson,

Je tiens à vous remercier pour votre travail sur mon nouveau fichier qui me permet de télécharger à nouveau mes cours.

Je vous joins un exemple

Très cordialement

Merci pour ce retour ...


avec les heures de dernier échange si besoin ! et les tableaux complets

Bonjour Steelson,

Dernière question :

Quelle est la version de ton Microsoft Office que tu utilises ?

merci

Cordialement

Bjr,

Microsoft Office Famille et Etudiant 2013 ici (je dois aussi avoir 2016 par ailleurs).

Pourquoi ? un soucis ?

Bonjour,

Comme je suis toujours en Excel 2003, il y a quelques fonctions qui ne sont pas reconnues. C'est normal. J'ai téléchargé le fichier pour

les convertions. Mais comme certaines formules ne peuvent être transferrées vers mes fichiers 2003, je vais monter en gamme : Excel 2007 ou 2008 .

Merci encore pour ta coopération

Très cordialement et bonne journée.

Steelson a écrit :

Dans ce cas c'est plus simple

Il suffit d'ajouter les autres actions à la liste !

bonjour Steelson

cela ne fonctionne pas en 64 bits quelle valeur faut il déclarer stp?

cordialement.

Obyone

Bonjour,

je viens d'essayer les 2 fichiers ci-dessous sur Excel 2016 et système 64 sans problème

vérifie peut-être les références

info systeme capture d ecran 143

Bonjour,

J'ai supprimé la partie suppression de La Croix rouge c'est elle qui me bloque la macro de téléchargement fonctionne correctement.,

Mais la suppression de La Croix rouge n'interresse, j'ai regardé mes références j'ai les mêmes de cochées?

Merci d'avance

obyone60 a écrit :

Mais la suppression de La Croix rouge n'interresse

... alors là je ne peux pas t'aider ... ouvre un autre post ou fais une recherche sur le forum

Essaie quand même ceci :

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
MsgBox "Cette option n'est pas autorisée.", vbExclamation
Cancel = True
End If
End Sub

Bonjour Steelson,

Je reviens vers vous car j'ai un petit souci pour la mise à jour de mes fichiers sur les valeurs américaines.

En effet, les fichiers de récupération des cours des valeurs ont comme site Boursorama et ces valeurs ont 15 à 20 minutes de retard.

Serait-il possible de les faire avec le site Google finance ?

Merci encore pour votre aide

Cordialement

Qataror

peux-tu me donner un exemple (une URL) ?

Bonjour Steelson,

Exemple avec IBM

avec Bloomberg

https://www.bloomberg.com/quote/IBM:US

avec MarketWatch

https://www.marketwatch.com/investing/stock/ibm

avec MSN money

https://www.msn.com/en-us/money/stockdetails/fi-126.1.IBM.NYS

avec Motley Fool

https://www.fool.com/quote/nyse/ibm/ibm

avec Nasdaq

https://www.nasdaq.com/fr/symbol/ibm

Voilà, il y en a d'autres comme Google Finance, par exemple, la formule suivante

=(GOOGLEFINANCE("IBM";"price")) mais cette formule ne peut etre utilisée que dans un google sheet

ne marche pas dans office excel

En espérant avoir répondu à ta question

Cordialement

je regarde pour te donner une méthode d'extraction que tu pourras mettre en oeuvre

Merci infiniment Steelson

Voici la méthode la plus basique que j'utilise et qui s'adapte à tous les cas.

Il existe une méthode plus professionnelle se basant sur getElementById mais encore faut-il que la page web soit formatée correctement ce qui est encore assez loin d'être le cas.

1- La première des choses est de faire une interrogation avec un navigateur

2- Ensuite, affiche le code source de la page

3- Repère enfin des éléments discriminants qui te permette d'encadrer le texte recherché

exemple pour https://www.nasdaq.com/fr/symbol/ibm

la valeur recherchée est encadrée par <div id="qwidget_lastsale" class="qwidget-dollar"> et </div>

capture d ecran 19

4- tu fais tourner la macro avec ces éléments

Sub Maj()
    DoEvents

    i = 3 ' ligne concernée, faire une boucle si plusieurs lignes

    URL = Cells(i, "A")
    On Error Resume Next
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", URL, False
        .Send
        If .Status = 200 Then
            Cells(i, "B") = "'" & Split(Split(.responseText, Cells(1, "B"))(1), Cells(2, "B"))(0)
        End If
    End With

End Sub

Merci Steelson pour ton aide.

J'analyse tout ceci et je posterai le résultat si cela intéresse un autre amateur de valeurs américaines

Très cordialement

si tu as plusieurs valeurs, fais une boucle sur ligne

si tu veux plusieurs informations, fais une boucle sur colonne

j'ai dû ajouter "'" pour éviter les conversions de monnaie

Sub Maj()
    DoEvents

    ligne = 3 ' ligne concernée, faire une boucle si plusieurs lignes

    URL = Cells(ligne, "A")
    On Error Resume Next
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", URL, False
        .Send
        If .Status = 200 Then

            colonne = 2 ' colonne concernée, faire une boucle si plusieurs colonnes

            Cells(ligne, colonne) = "'" & Split(Split(.responseText, Cells(1, colonne))(1), Cells(2, colonne))(0)

        End If
    End With

End Sub

OK merci pour la macro car effectivement j'ai plusieurs lignes de valeurs.

Par contre, aurais-tu la formule pour effacer le signe dollar $ et remplacer le point par la virgule ? comme tu l'avais fait pour l'euro dans les précédents fichiers

Cordialement

=SUBSTITUE(SUBSTITUE(B3;"$";"");".";",")*1
Rechercher des sujets similaires à "modifier macro telecharger donnees internet"