Liste déroulante dans internet explorer

Harelde

XLDnaute Nouveau
Bonjour à tous,

A partir d'une feuille EXCEL, contenant un certain nombre d'informations, je souhaite alimenter une base de données en ligne via un formulaire sur le web.
Je me connecte donc à IE6 et lance la page web sans problème.
Je remplis mes champs texte également sans problème avec ce genre de code trouvé sur le net :

Mon code simplifié :

'Je crée mon objet IE
Set ie = CreateObject("internetexplorer.application")
ie.Visible = True
blnIe = True

strURL = "http://www.faune-iledefrance.org/index.php?m_id=10&backlink=rset&taxo_group=o"
ie.navigate (strURL)

Do While ie.Busy
Application.Wait (Now + 0.5 / 3600 / 24)
Loop
Application.Wait (Now + 1 / 3600 / 24)

Set IEdoc = ie.Document

'Partie 1 du formulaire
Set DOCelement = IEdoc.getElementsByName("coord_x").Item
DOCelement.Value = Cells(1, 1).Value
Set DOCelement = IEdoc.getElementsByName("coord_y").Item
DOCelement.Value = Cells(1, 2).Value

'Clic sur le bouton "Afficher" (qui s'appelle "disp_coord") pour valider la partie 1
IEdoc.All("disp_coord").Click

Set DOCelement = IEdoc.getElementsByName("date").Item
DOCelement.Value = Cells(1, 3).Value
Set DOCelement = IEdoc.getElementsByName("mask").Item
DOCelement.Value = Cells(1, 4).Value
Set DOCelement = IEdoc.getElementsByName("total_number").Item
DOCelement.Value = Cells(1, 5).Value
Set DOCelement = IEdoc.getElementsByName("remark").Item
DOCelement.Value = Cells(1, 6).Value

'Clic sur le bouton "Ajouter" (qui s'appelle "ADDOBS") pour valider la partie 2
IEdoc.All("ADDOBS").Click

'Et je referme mon objet IE
ie.Quit

Ce bout de code fonctionne. A deux détails près :

1.
Quand je l'exécute pas à pas, pas de souci. Mais quand je le laisse faire, le code plante en "Erreur d'exécution '91' : Variable objet ou variable de bloc With non définie". Un problème de réinitialisation de mon DOCelement ?

2.
Le champ "mask" est lié à une liste déroulante avec, dedans, une liste de choix. En mode normal, quand j'écris dans le champ "mask", la liste déroulante réagit automatiquement en fonction de ma saisie. Probablement avec un évènement déclenché sur le changement du "mask". Mais via ma macro EXCEL, quand je renseigne le champ "mask", la liste déroulante ne suit pas et reste à la valeur par défaut "-- CHOISISSEZ --".

Comment faire en sorte que la liste déroulante prenne la valeur du champ "mask" ?
Ou comment agir directement sur la liste déroulante en lui imposante la valeur que je souhaite ?


Voici le code source de la feuille EXCEL. Je n'ai mis que la partie relative au champ "mask" et à la liste déroulante associée :

<div class="box" style="padding:5px">masque de selection
<input class="ageNumberFormCell" type="text" name="mask" style="width:80px" onkeyup="javascript:dosearch(species_db, document.addobs.elements.mask, document.addobs.elements.id_species);"/>
<select size="1" style="width:270px" name="id_species">
<option value="0">-- CHOISISSEZ --</option>
<option value="51">Carotte</option><option value="54">Courgette</option><option value="55">Céleris</option><option value="53">Patate</option><option value="52">Tomate</option></select>
</div>
En espérant m'être fait comprendre...
Si ce n'est pas le cas, n'hésitez pas à me demander d'autres infos. Car je deviens chèvre !

En vous remerciant de votre aide !
 

Discussions similaires

Réponses
8
Affichages
632

Statistiques des forums

Discussions
312 198
Messages
2 086 149
Membres
103 132
dernier inscrit
hedfahmi