Bonjour à tous !
Je vous expose mon problème. Je souhaite avoir un dictionnaire avec comme clé une action (bourse) et comme valeur un autre dictionnaire qui lui même a comme clé une date et comme valeur un tableau(prix et prix max de l'action).
Seulement quand je souhaite récupérer le prix à une date d'une action il m'indique "Incompatibilité de type".
Voici mon code pour vous aider. Il est lié à une api "Bloomberg", il est de ce fait intestable. J'espère juste avoir fait une grosse erreur que quelqu'un remarquera à vue d'oeil.
'Dictionnaire
Function CreationDico(dateD As Date, dateF As Date, listeparam() As String) As Dictionary
Dim i As Integer
'Récupère les donnees de Bloomberg
Dim data As Variant
data = GoToBloom(dateD, dateF, listeparam()) // cette fonction va récupérer des valeurs de marchés (par exemple les prix) d'une date à une autre. pour récupérer un prix : il faudra faire data(nom de l'action, nb de jours)(prix de cloture)
Dim taille As Integer
taille = Sheets("Stocks").Range("C55555").End(xlUp).Row
'''Création des dicos
'Dico(produits, dico(date,param))
Dim DicoProduit As Dictionary
Set DicoProduit = New Dictionary
'Dico(date,param)
Dim size_tab As Integer
size_tab = UBound(listeparam)
Dim tablo() As Variant
ReDim tablo(0 To size_tab)
Dim DicoPerso As Dictionary
Set DicoPerso = New Dictionary
For i = 2 To taille
For j = 1 To dateF - dateD
For k = 0 To size_tab
tablo(k) = data(i - 2, j - 1)(k)
Next k
DicoPerso.Add dateD - 1 + j, tablo
Next j
DicoProduit.Add Sheets("Stocks").Cells(i, 3).Value, DicoPerso
DicoPerso.RemoveAll
Next i
Print DicoProduit.Keys(1)
Set CreationDico = DicoProduit
End Function
et voici la procédure qui teste la fonction :
Sub test()
Dim z(1) As String
z(0) = "PX_LAST" 'prix de cloture
z(1) = "PX_LOW" 'prix le plus bas
Dim a As Dictionary
Set a = New Dictionary
Set a = CreationDico("21/08/2010", "21/11/2018", z)
MsgBox (a("AAPL US Equity")("11/11/2018")(1))
End Sub
Ca sera surement impossible à comprendre mais si quelqu'un voit ...
Le problème vient je pense du fait qu'il y ait un tableau dans un dictionnaire lui même compris dans un dictionnaire et que je ne vois pas comment y accéder.
Merci bcp par avance !! je joins le code en plus au cas ou.