Bonjour à tous,

Je travaille actuellement sur un programme VBA, qui me permettrai de récupérer le nom d'une société de gestion à partir d'un code ISIN sur le site "https://www.tkfweb.com/".

Bizarrement la partie connexion à été plutôt facile, en revanche impossible de remplir le champ de recherche à partir du code ISIN et de lancer celle-ci.


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
Function LoginTelekurs()
 
    Set objIEBrowser = CreateObject("InternetExplorer.Application")
 
    objIEBrowser.Visible = True
 
    objIEBrowser.Navigate2 "https://www.tkfweb.com/finVAL/?FD_TID=153.046.016.025"
 
    Call FnWaitForPageLoad(objIEBrowser)
 
    Set objpage = objIEBrowser.Document
 
    Call FnLogin(objpage, "ref", "id", "mdp")
 
    Call FnWaitForPageLoad(objIEBrowser)
 
    Call FnWait(1)
 
    Call FnSearchValueFill(objpage, "FR0123456789")
 
End Sub
 
'identification sur le site
Function FnLogin(objpage, strCustomerID, strUserName, strPwd)
 
    Set IDEditB = objpage.all("fld_TKCountryCodeAndCustNumber")
 
    Set NameEditB = objpage.all("fld_TKUserID") 'IEDoc.all
 
    Set PWDEditB = objpage.all("fld_TKPassword")
 
    IDEditB.Value = strCustomerID
 
    NameEditB.Value = strUserName
 
    PWDEditB.Value = strPwd
 
    Set SignIn = objpage.all("b_CheckUserLoginAction")
 
    SignIn.Click
 
End Function
 
'timer
Function FnWait(intTime)
 
    newHour = Hour(Now())
 
    newMinute = Minute(Now())
 
    newSecond = Second(Now()) + intTime
 
    waitTime = TimeSerial(newHour, newMinute, newSecond)
 
    Application.Wait waitTime
 
End Function
 
'Attente du chargement de la page
Function FnWaitForPageLoad(objIEBrowser)
 
  Do While objIEBrowser.Busy
 
  Loop
 
  Do While objIEBrowser.readyState < 4
 
  Loop
 
End Function
Jusqu’ici tout va bien, le code s'exécute normalement et j'arrive à me connecter

Mon problème réside dans le fait que je n'arrive pas à insérer le code ISIN dans le champ de recherche ci-dessous (entouré en jaune):

Nom : 2Recherche ISIN.png
Affichages : 285
Taille : 10,5 Ko

Mon code est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Function FnSearchValueFill(objpage, strISIN)
 
Set ISINEditB = objpage.getElementsByName("SearchValue").Item(0)
 
ISINEditB.Value = strISIN
 
End Function
Et il bloque à chaque fois sur "ISINEditB.Value = strISIN" avec le message suivant :
Erreur d'exécution '91': Variable objet ou variable de bloc With non définie

J'ai essayé bcp de codes différents mais le résultat reste le même, impossible de remplir le champ de recherche, quant à simuler un click sur le bouton "Go"...

Le code du champ Search Value est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<input name="SearchValue" style="flex:9 1 0px; width: 100%; display: flex; -moz-box-flex: 9; -webkit-box-flex: 9; box-flex: 9;" onblur="this.value=removeSpaces(this.value);" type="text" size="13" value="">
Notez que le nom "SearchValue" est unique, pourtant l'utilisation de "Set ISINEditB = objpage.getElementByName("SearchValue")" me renvoie également un code d'erreur.
Erreur d'exécution '438': Propriété ou méthode non gérée par cet objet

Le code du bouton "Go" est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<input style="margin: 0px 0px 0px 2px; flex:1 1 0px; width: 33px; display: flex; -moz-box-flex: 1; -webkit-box-flex: 1; box-flex: 1;" type="submit" value="Go">
Voila, j'espère m'être exprimé correctement et que mon problème est compréhensible, si ce n'est pas le cas n'hésitez pas à me demander des compléments d'information ;-)

Merci pour l'aide que vous m'apporterez,