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.
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):

Mon code est le suivant :
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 :
<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 :
<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,
Partager