Partage
  • Partager sur Facebook
  • Partager sur Twitter

Accès aux liste déroulante d'une page internet

Erreur : variable objet ou variable de bloc with non définie.

    27 mai 2020 à 15:36:31

    Bonjour, 
    Je cherche à entrer des valeurs dans 2 listes déroulantes d'une page web en l'occurrence : http://www.hydro.eaufrance.fr/selection.php 
    Pour ceux qui veulent tester, pour acceder a la page du site en question il faut : 
    - entrer un numéro de station exemple : U1084010 et appuyer sur "Nouvelle recherche" 
    - Cocher la station que vous venez de rentrer puis appuyer sur "visualiser" 
    - et enfin appuyer sur "QJM" 
    Une fois sur cette page vous verrez deux listes déroulantes avec lesquelles j'essaie d'intéragir. 
    Je me suis aider du tuto de SilkyRoad que j'ai testé sur ma machine. 
    (https://silkyroad.developpez.com/VBA/ControlesUserForm/#LI) 
    Venons en a mon problème. J'essaie simplement de rentrer une valeur dans la première liste déroulante via l'index des valeurs. Voici mon code. 
    Public IE As New InternetExplorer
    
    Sub Recupinternet()
            Dim IEDoc As HTMLDocument
            Set IE = CreateObject("InternetExplorer.Application")
            IE.Visible = True
            IE.navigate "http://www.hydro.eaufrance.fr/selection.php"
            Do Until IE.readyState = READYSTATE_COMPLETE
                    DoEvents
            Loop    'attend la fin du chargement
            
            Do While IE.document.readyState <> "complete"
                    DoEvents
            Loop    'attend la fin du chargement du document
            'ici j'ai une routine qui nous amène jusqu'à la page voulue, mais on peut aussi le faire a la
            'main en suivant les indications ci dessus
            Set IEDoc = IE.document
            Dim htmlSelectElem As HTMLSelectElement
            Set htmlSelectElem = IEDoc.all("debut_an")
    
            htmlSelectElem.selectedIndex = 0
    End sub
    
    Voici maintenant le code html de la page web concernant la première lise déroulante : 
    <select id="debut_an" name="debut_an">
    <option value="2020" selected>2020</option>
    <option value="2019" >2019</option>
    <option value="2018" >2018</option>
    <option value="2017" >2017</option>
    <option value="2016" >2016</option>
    .
    .
    .
    <option value="1966" >1966</option>
    <option value="1965" >1965</option>
    <option value="1964" >1964</option>
    </select></td>
    Lorsque je lance le code VBA, l'erreur subvient en ligne 20 en me disant : variable objet ou variable de bloc with non définie. 
    Je ne pense pas que l'erreur provienne du code mais, mais je pense qu'il provient du fait que le nom que j'entre pour la liste déroulante n'est pas correct... 
    Je me tourne vers vous pour recueillir votre avis d'expert, merci d'avance ! 
    • Partager sur Facebook
    • Partager sur Twitter

    Accès aux liste déroulante d'une page internet

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown