" invalid procedure call or argument"

Laetitiayao Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   -  
Laetitiayao Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Je souhaite faire tourner une macro me ramenant la valeur suivante "INTERVAL_PERCENT_CHANGE" à partir de :
L'identifiant du fonds 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 soulignee est la suivante:
 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
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


A voir également:

1 réponse

NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
Tu n'as pas oublié un = ?
0
Laetitiayao Messages postés 54 Date d'inscription   Statut Membre Dernière intervention  
 
Je ne pense pas, sur l'exemple que j'ai suivi ils ne l'avais pas mis . Maintenant que tu as attiré mon attention je l'ai rajouté mais j'ai toujours le même message
0
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
Dans ce cas, mets un point d'arrêt sur la ligne (F9) et espionne (Sélection puis Shift+F9) les différentes valeurs de la ligne pour essayer de trouver à quel moment ça part de travers.
0
Laetitiayao Messages postés 54 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Nhenry j'ai essayé comme indiqué , je pense que c'est au niveau de
range(cells(4.76),cells(12,77)) msg.getelement("securit
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour a tous et toutes

range(cells(4,76),cells(12,77)).value msg.GetElement("securitydata").GetValue(0).GetElement("fieldData").GetElement("INTERVAL_PERCENT_CHANGE").Value

le r de range n'etant pas en majuscule par il y a un soucis
0
Laetitiayao Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour f894009, c'est vrai j'ai corrigé mais j'ai le meme problème je vais pour l'instant mettre cette méthode entre parenthèses et passer par l'enregistreur de macros . Merci à tous pour votre attention
0