Bonjour à tous !
J'ai suivi le tuto de Qwazerty "Interaction avec Internet Explorer via VBA Excel" (http://qwazerty.developpez.com/tutor...-et-vba-excel/).
J'ai déjà pu faire tellement de chose grâce à ce tuto, c'est un tuto incroyable !
Aujourd'hui je tombe sur une difficulté sur une page intranet qui a un champ qui s'autocomplète :
Chaque personne a un identifiant et je ne connais que cette identifiant.
Manuellement je rentre l'identifiant dans le champ, par exemple : 365202
Et la cellule s'autocomplète et, à la place de l'identifiant, apparait le nom de la personne : Frédéric Martin
Le champ est codé ainsi :
Code html : 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 <input name="target_manager_id_text" tabindex="0" title="" class="ppm_field formFieldNoWidth autosuggest-svl-input x-form-field x-form-text" id="d426071e315" aria-required="true" style="padding-top: 1px; padding-bottom: 1px; border-right-color: currentColor; border-right-width: 0px; border-right-style: none;" onkeydown="return handleEnter(event, 'filter', 'page')" onclick="if(event.stopPropagation) event.stopPropagation(); event.cancelBubble=true;" onfocus="javascript:clarity.uitk.ext.browse.BrowseFieldExt.autoSuggestInit(this,event);" type="text" size="25" maxlength="2147483647" alt="" value="" auto_init="false" auto_webcontext="/niku" auto_formname="page" auto_minlength="1" auto_delay="500" auto_setupfunction="lookupAutosuggest" auto_paramvalues="attributeCode=target_manager_id:objectCode=project:odf_pk=:partitionCode=NIKU.ROOT:viewType=properties:param_inv_id=:" auto_lookuptype="BROWSE_PROJMGR" auto_attrcode="target_manager_id" auto_id="d426071e315">
Je peux affecter ce champ sans problème :
Mais l'identifiant reste là, l'autocomplétion n'a pas lieu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Set CP = IEDoc.all("target_manager_id_text") 'Chef de projet CP.Value = "365202"
J'imagine qu'il faut que j'essaye de simuler la saisie au clavier avec des SendKeys. Mais je n'y parviens pas.
J'ai essayé plein de syntaxes, en vrac :
CP.Focus
DoEvents
CP.Click
DoEvents
SendKeys "3"
DoEvents
CP.SendKeys "3"
DoEvents
Au mieux, j'obtiens une saisie dans mon fichier Excel au lieu de la page web.
Savez vous comment faire le focus sur le champ et lui envoyer des frappes de clavier ?
Sinon j'ai aussi essyaer d'exécuter le javascript :
Mais cela plante. Je pense que c'est bien au dessus de mon niveau de vouloir executer le javascript. Mais si vous voyez quelque chose de simple dans cette direction je suis preneur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 JavaCode = "javascript:clarity.uitk.ext.browse.BrowseFieldExt.autoSuggestInit(this,event);" IEDoc.parentWindow.execScript JavaCode, "JavaScript"
Merci par avance !
Partager