Bonjour à tous,

Je souhaite faire tourner une macro me ramenant la valeur suivante "INTERVAL_PERCENT_CHANGE" à partir de :
L'identifiant du fonds ( ETF) concerné "S3.Range(Cells(3, 76), Cells(3, 77)).Value",
Dates de début et de fin "S3.Cells(i, 73).Value" et "S3.Cells(i, 74).Value"
Devise "S3.Cells(2, 76).Value"
à partir des API de Bloomberg Mais je reçois un doux message d'erreur " invalid procedure call or argument".
J'ai vraiment tout essayé mais il y a surement quelque chose qui m'échappe.

la ligne soulignée est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
range(cells(4,76),cells(12,77)).value  msg.GetElement("securitydata").GetValue(0).GetElement("fieldData").GetElement("INTERVAL_PERCENT_CHANGE").Value
Merci pour toutes vos réponses et éclairages. ci-dessous le code en entier


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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Sub ref_data()
 
 
Dim session As blpapicomLib2.session
Set session = New session
session.Start
 
Dim Service As blpapicomLib2.Service
session.OpenService ("//blp/refdata")
Set Service = session.GetService("//blp/refdata")
 
Dim Request As blpapicomLib2.Request
Set Request = Service.CreateRequest("ReferenceDataRequest")
 
 
 
Request.Append "securities", "S3.Range(Cells(3, 76), Cells(3, 77)).Value"
Request.Append "fields", "INTERVAL_PERCENT_CHANGE"
Dim overrides As Element
Set overrides = Request.GetElement("overrides")
Dim override As Element
Set override = overrides.AppendElment
Dim i As Integer
For i = 4 To 12
 
Dim override1 As Element
Set override1 = overrides.AppendElment
 
override1.SetElement "fieldId", "Start_Date_Override"
override1.SetElement "value", "S3.Cells(i, 73).Value" 'Replace date with the cell reference eg Range("B10").Value
 
Dim override2 As Element
Set override2 = overrides.AppendElment
 
override2.SetElement "fieldId", "End_Date_Override"
override2.SetElement "value", "S3.Cells(i, 74).Value" 'Replace date with the cell reference eg Range("A10").Value
 
Dim override3 As Element
Set override3 = overrides.AppendElment
 
override3.SetElement "fieldId", "CRNCY"
override3.SetElement "value", "S3.Cells(2, 76).Value" 'Replace EUR with the cell reference eg Range("A10").Value
 
 
session.SendRequest Request
 
Dim blpevent As blpapicomLib2.Event
Dim it As blpapicomLib2.MessageIterator
Dim msg As blpapicomLib2.Message
Dim finalResponse As Boolean
Do While finalResponse = False
 
    Set blpevent = session.NextEvent
    Set it = blpevent.CreateMessageIterator
 
    Do While it.Next
        Set msg = it.Message
                If blpevent.EventType = RESPONSE Or blpevent.EventType = PARTIAL_RESPONSE Then
 
           range(cells(4,76),cells(12,77)).value  msg.GetElement("securitydata").GetValue(0).GetElement("fieldData").GetElement("INTERVAL_PERCENT_CHANGE").Value
 
 
        End If
 
        If blpevent.EventType = RESPONSE Then
                finalResponse = True
        End If
 
    Loop
Loop
Next i
 
End Sub