Bonjour,
A partir d'Excel, je remplis des formulaires sous IE11.
Pas de soucis pour remplir les zones de texte libre, mais je n'arrive pas à remplir les zones de liste déroulante.
Le code VBA plante sur l'instruction d'affectation de la valeur à la zone gérée par la liste déroulante.
Merci de votre aide.
Cordialement,
Loïc
J'ai essayé :
Le code de ma macro est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 IE.Document.All.Item("SUPREF_SupplierOrderGroup_key" & frn & "termsOfPaymentId_key").Value = "60 jours" IE.Document.All.Item("SUPREF_SupplierOrderGroup_key" & frn & "termsOfPaymentId_key").selectedIndex = 4 ' la 4ème valeur de la liste déroulante
Le code APE est une zone de texte libre. Sa mise à jour fonctionne.
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 Set IE = CreateObject("internetExplorer.Application") 'Définit l'objet IE comme application internet Explorer Const READYSTATE_COMPLETE = 4 'Définis la constante Readystate_complete IE.navigate "http://monadresse.fr" Application.Wait Time + TimeSerial(0, 0, 2) IE.Visible = True With IE Do Until .ReadyState = 4 Loop 'attend la fin du chargement End With Set elementHtml = IE.Document.All.Item If Not elementHtml Is Nothing Then IE.Document.All.Item("SUPREF_SupplierGroup_key" & frn & "ape_key").Value = code_ape IE.Document.All.Item("SUPREF_SupplierOrderGroup_key" & frn & "termsOfPaymentId_key").Value = "60 jours" end if
Le délai de paiement est une zone de liste déroulante. Sa mise à jour fait planter la macro !
Le code source de la page web est le suivant pour la zone de liste déroulante :
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 <tr > <td><label required for="SUPREF_SupplierOrderGroup_key331733494termsOfPaymentId_key" bubble="Saisissez une condition de règlement. En précisant le délai et le jour de règlement. Par exemple : 30j fin de mois." >Conditions de règlement</label> </td> <td> <div class="fsuggest" data-mode="true" data-rule="content" data-ee="false"> <div class="fsg-cut"> <div class="fsg-mobile"> <div class="fsg-list-container"> <div class="fsg-list"><!-- <i data-id='90055'>10 jours</i><i data-id='90057'>30 jours</i><i data-id='90059'>45 jours</i><i data-id='90061'>60 jours</i><i data-id='90053'>Immédiat</i>--></div> </div> </div> </div> <div class="fsg-form-els"><input type="text" id="SUPREF_SupplierOrderGroup_key331733494termsOfPaymentId_key" value="45 jours" size="50"><input type="hidden" name="SUPREF_SupplierOrderGroup_key331733494termsOfPaymentId_key" value="90059"><a class="btn" href="javascript:void(0)"> </a></div> </div> </td> </tr>
Partager