Taux de change actualisé sur Excel

Fermé
Eldrid Messages postés 112 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 12 mars 2016 - Modifié par Eldrid le 28/12/2012 à 12:10
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 28 déc. 2012 à 22:36
Bonjour à tous,

J'ai un petit soucis sur Excel: J'aimerais faire un tableau en 2 colonnes intitulé "Devise" et avoir les taux de changes automatisés (c'est à dire avoir en A1, 1€ et en B2 $0,75 et si le cours fluctue, cela s'automatise directement)
Est-ce possible? Si oui, comment? J'ai beaucoup cherché sur internet mais je suis vraiment novice sur VBA (mais prête à apprendre!)

Je vous remercie par avance.

Bonnes fêtes de fin d'année :) !

PS: J'ai Microsoft Office 2010

A voir également:

4 réponses

Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
28 déc. 2012 à 18:58
Salut le forum

Colle la macro suivante dans un module standard

Sub WebQuery()
ActiveSheet.Cells.Delete
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;https://fr.investing.com/currencies/exchange-rates-table" _
        , Destination:=Range("A1"))
        .Name = "Taux_Change"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlOverwriteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebTables = "1"
        .WebFormatting = xlWebFormattingAll
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=True
        .RefreshPeriod = 15
    End With
End Sub

Mytå
4
Eldrid Messages postés 112 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 12 mars 2016 6
28 déc. 2012 à 19:28
Bonsoir,

Wow. Merci beaucoup! Ca c'est super! Merci énormément!

Afin de pouvoir transformer les points servants de décimales des chiffres du tableau en virgules (afin de pouvoir les incorporer dans d'autres formules plus tard), j'ai pris ce code:

Sub test()
With Worksheets("Feuil1")
With .Range("B2:I9")
.Replace ".", ","
.Replace ",", "."
End With
End With
End Sub

J'aimerais néanmoins qu'il s'actualise en même temps que le tableau. C'est à dire: Quand le tableau s'actualise (toutes les 15mn), la modification des points en virgules se fassent en même temps. J'ai essayé de rajouter une ligne "RefreshPeriod = 15" mais cela ne fonctionne pas.

Merci encore!
0
Eldrid Messages postés 112 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 12 mars 2016 6
28 déc. 2012 à 14:45
Bonjour,

Merci beaucoup pour ta réponse

Je vais essayer avec ta méthode. Affaire à suivre! La plage s'actualise automatiquement ou il faut passer par un code VBA pour que l'actualisation se mette en route?
1
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
28 déc. 2012 à 14:51
Automatiquement si tu as mis les paramètres qu'il faut dans 'Propriétés de la plage de données externes'
Sur ce fichier c'est tous les 1/4h.

eric
0
Eldrid Messages postés 112 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 12 mars 2016 6
28 déc. 2012 à 15:10
Merci beaucoup!! :D

J'ai néanmoins un soucis: J'ai compris la logique. Pas de soucis. Cependant à l'importation de ma page web (https://fr.investing.com/currencies/exchange-rates-table je n'arrive pas à sélectionner le tableau voulu, cela m'importe toute la page (je suis sous MS Office 2010 et j'ai fait Données -> A partir du web pour importer ma page) Comment puis-je sélectionner le tableau voulu?

Merci encore.
0
Eldrid Messages postés 112 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 12 mars 2016 6
Modifié par Eldrid le 28/12/2012 à 15:16
Sinon j'ai importé toute la page et supprimer ce qui ne me servait pas. Je pense que ça peut aussi fonctionner! J'espère juste que ça ne remettra pas les choses supprimées à l'actualisation...
0
Eldrid Messages postés 112 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 12 mars 2016 6
28 déc. 2012 à 15:19
Bon effectivement à l'actualisation tout se remet (la page entière) alors qu'il me faudrait que le tableau des taux de change. Si vous pouviez m'aider une dernière fois, ça serait très aimable de votre part.

En attente de votre réponse,

Eldrid.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 28/12/2012 à 15:45
Mais je ne vois pas le tableau des valeurs, peut-être est-il réservé aux abonnés.
Dépose un fichier avec une de tes extraction et surlignes les valeurs que tu veux voir rassemblées en tableau.
Déposer le fichier xls (réduit au nécessaire et anonymisé) sur cjoint.com et coller ici le lien fourni.

Je dois m'absenter, je verrai ça ce soir.

eric
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 28/12/2012 à 22:52
Re,

ça serait bien que tu dises sur les autres forums ou tu as posé ta question que c'est résolu.
Que les intervenants ne cherchent pas pour rien...

Sans macro et en temps réel : https://www.cjoint.com/?BLCwIh9mY0E
Pour que ça soit plus complet il faudrait rechercher une valeur repère unique (Nom ?) dans la colonne A et récupérer les données par rapport à cette position (aujourd'hui ligne 241, peut-être 245 demain...) avec un decaler().
Et puis rappelle-toi que les calculs que tu feras avec évolueront dans le temps. Les résultats obtenus seront différents dans 1h, dans 3 jours, dans 5 ans...
Pour ma part c'est fini ici.

eric

edit: autre version avec moins de risque de perte de position (changement de ton adresse de requête) :
https://www.cjoint.com/?BLCwZGd0bVU

Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
1
Eldrid Messages postés 112 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 12 mars 2016 6
28 déc. 2012 à 22:26
Bonsoir,

Je n'ai pas encore tout à fait résolu mon problème. Car la macro pour enlever les décimales ne marche pas tout à fait. J'y travaille toujours et quand elle sera prête, je la posterai afin que ça puisse venir en aide à tout le monde.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
28 déc. 2012 à 22:36
j'ai édité mon message
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
28 déc. 2012 à 14:20
Bonjour,

un exemple sur les indices boursiers.
Il faudra que tu modifies la requête pour aller sur ton site de cours des devises.
Clic-droit sur une des valeur pour :
- 'modifier la requête'
- 'Propriétés de la plage de données externes' (actualisation)
https://www.cjoint.com/?BLCouvJTDcN

eric
0