Microsoft 365 obtenir donnes boursieres celon une date precise

danbibi

XLDnaute Junior
Bonjour, j'aimerai savoir si il est possible d'avoir la valeur d'une action boursière celons une date, et non en live
comme ceci :
1603282120153.png

merci beaucoup
 

soan

XLDnaute Barbatruc
Inactif
Bonjour danbibi,

juste une piste : si c'est pas en live, je suggère un tableau avec 3 colonnes « action /
date / prix » pour l'historique des valeurs boursières pour telle action, et à telle date
(au choix : à l'ouverture de la séance boursière, ou à la clôture) ; puis faire ensuite
une recherche dans ce tableau sur le nom d'action et la date ; retour : prix.


soan
 

soan

XLDnaute Barbatruc
Inactif
Lis d'abord mon post #2

autre suggestion, mais « en live différé » : utiliser le Planificateur de tâches de Windows
pour ouvrir le classeur Excel à une date future donnée, puis lancer une recherche de la
valeur boursière de l'action concernée (sur le net), et la récupérer dans la bonne cellule
de la feuille de calcul.

soan
 

soan

XLDnaute Barbatruc
Inactif
@danbibi (salut WTF)

formule en C2 : =SI(OU(A2="";B2="");"";SearchPrice(A2;B2))

SearchPrice()
est une fonction personnalisée que j'ai créée en VBA ; elle recherche
sur "Feuil2", en colonne A, le nom de l'action ; ici : A2 = "msft" ; si elle trouve ce nom,
elle regarde ensuite si la date juste à droite, en colonne B, est la même que B2 ; ici :
B2 = 18/04/2018 ; si oui, ça retourne le Prix situé en colonne C, et ça sort aussitôt
de la fonction (et par la même occasion de la boucle For), sans regarder les lignes qui sont
en dessous de la ligne où le prix a été trouvé ➯ gain de temps ; en C2 : 260,91.

sur "Feuil1" (qui sert pour poser la question = requête) :


Image 1.jpg


sur "Feuil2" (qui contient l'historique des valeurs boursières) :

Image 2.jpg


important : il n'y a aucune recherche sur le net, comme c'était demandé ! :)

VB:
Option Explicit

Function SearchPrice(A$, D As Date) As Currency
  Dim dlg&, lig&
  With Worksheets("Feuil2")
    dlg = .Cells(Rows.Count, 1).End(3).Row
    For lig = 2 To 13
      With .Cells(lig, 1)
        If .Value = A Then
          If .Offset(, 1) = D Then
            SearchPrice = .Offset(, 2): Exit Function
          End If
        End If
      End With
    Next lig
  End With
End Function
soan
 

Pièces jointes

  • Exo danbibi.xlsm
    17.7 KB · Affichages: 3
Dernière édition:

danbibi

XLDnaute Junior
merci a vous d'avoir pris le temps de me repondre, j'apprécie beaucoup !
j'aimerai faire presque comme vous faites, mais je ne veux pas utiliser une base de donne sur une autre feuille , mais allez chercher le prix sur internet ( n'importe quel site fiable ) , et pour n'importe quel action que je veux , en spécifiant la date
merci d'avance!
 

Discussions similaires