none
VBA- comment récupérer une valeur sur internet ? RRS feed

  • Discussion générale

  • Bonjour à tous, j'ai créé un code en vba qui se connecte à internet, et je veux recupérer la valeur d'un taux. le probleme c'est que j'ai un tableau et la classe "directe" du taux que je veux (celui de la première ligne) est la meme pour tous les taux de toutes les lignes... du coup je ne sais pas comment l'appeler et récuperer ce taux.

    le code html de ma page web à l'endroit ou je veux récupérer le taux est le suivant :

    <table class="listeContrats">
    				
    	        		<tr>
    	        			<th><p class="tdl">Date</p></th>
    						<th><p class="tdc">EURIBOR12M</p></th>
    						<th><p class="tdc">EONIA</p></th>
    						<th><p class="tdc">EURIBOR12M - EONIA</p></th>
    	        		</tr>
            			
            		<tr class="r1">
            			<td><p class="tdl">01/01/13</p></td>
            			<td><p class="tdc">3,475</p></td>
            			<td><p class="tdc">3,109</p></td>
            			<td><p class="tdc">0,367</p></td>
            		</tr>
            		
            		<tr class="r2">
            			<td><p class="tdl">01/01/14</p></td>
            			<td><p class="tdc">3,867</p></td>
            			<td><p class="tdc">3,534</p></td>
            			<td><p class="tdc">0,333</p></td>
    

    le taux que je veux récupérer est le taux dans le tableau qui a la classe "listecontrats", dans la classe "r1" (correspondant à la ligne 1 du tableau) et a la sous classe "tdc" ( sa valeur vaut ici 3.475).

    Comme vous pouvez le voir, les valeurs ont toutes le meme nom de classe, jai laissé le code html de la ligne 2 "r2" pour vous montrer mon probleme (car à long terme je souhaiterais aussi récupérer le taux de la ligne 2, puis la ligne 3, etc... mais chaque chose en son temps :) ).

    Je pense que mon problème est simplep our quelqu'un qui s'y connait dans ce genre de programmation. Pour info j'ai essayé avec le code suivant :

    ' il y a un changement de page
     Set pageInternet = IE.Document
    
        'récupération des objets "tr"
        Set Lignes = pageInternet.getElementsByTagName("tr")
        'on boucle pour retrouver le champ date de la form
        For i = 0 To lesEntrees.Length - 1
            'pour la recherche on utilise le nom de la classe de la ligne 1
            If lesEntrees(i).className = "r1" Then
                'le WaitIE plus haut ne suffit pas à garantir que la page à pris en compte la nouvelle valeur de date
                'on vas donc boucler pour verifier
                Do
                    Set laCase = lesEntrees(i).getelementbyclassname("tdc")(0)
                    Application.Wait Now + TimeValue("0:00:01")
                    DoEvents
                Loop Until laCase = lesEntrees(i).getelementbyclassname("tdc")(0)
                Exit For
            End If
        Next

    mais j'ai un message d'erreur : permission refusée....

    Si vous pouviez m'aider ce serait super !

    Merci d'avance !

    Cécile

    • Type modifié Aurel Bera mercredi 10 octobre 2012 10:10 Pas de reponse
    jeudi 16 août 2012 08:01

Toutes les réponses