" invalid procedure call or argument"

Fermé
Laetitiayao Messages postés 54 Date d'inscription vendredi 13 juillet 2018 Statut Membre Dernière intervention 31 août 2018 - Modifié le 2 août 2018 à 16:42
Laetitiayao Messages postés 54 Date d'inscription vendredi 13 juillet 2018 Statut Membre Dernière intervention 31 août 2018 - 7 août 2018 à 14:06
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


1 réponse

NHenry Messages postés 15155 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 septembre 2024 334
2 août 2018 à 16:57
Tu n'as pas oublié un = ?
0
Laetitiayao Messages postés 54 Date d'inscription vendredi 13 juillet 2018 Statut Membre Dernière intervention 31 août 2018
2 août 2018 à 17:02
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 15155 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 septembre 2024 334
2 août 2018 à 20:19
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 vendredi 13 juillet 2018 Statut Membre Dernière intervention 31 août 2018
3 août 2018 à 10:40
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 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
3 août 2018 à 11:00
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 vendredi 13 juillet 2018 Statut Membre Dernière intervention 31 août 2018 > f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024
7 août 2018 à 14:06
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