Tout d'abord,
Bonsoir à tous,
Je précise que je suis novice total en VBA.
J'ai un souci, j'ai créé une petite macro me permettant de récupérer prix et disponibilités de produits de mon fournisseur pour les importer sur Excel.
La macro fonctionne comme je veux jusque ".document.all("submit_search").Click", c'est après que je n'arrive pas à trouver comment extraire prix et disponibilité du code source de la page du produit.
Dans le code source, les prix et disponibilités qui m'intéressent sont <span class="price" et <span class="availability">

Le code de ma macro est le suivant:

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
16
17
18
19
20
21
22
23
24
25
26
27
Sub Recherche1()
    Dim url
    url = "http://www.bio-express.fr/catalogue/search.php"
    i = Sheets("Catalogue").Cells(2, 4)
    crawler url, i
End Sub
 
Function crawler(url, reference)
    Dim IE As Object, doc As Object, x As Variant, myValue As String, myValue1 As String
    Set IE = CreateObject("internetexplorer.application")
    With IE
        .Navigate url
        .Visible = True
        Do: DoEvents: Loop While .readystate <> 4 Or .Busy
        If .locationurl = "http://www.bio-express.fr/catalogue/search.php" Then
            .document.all("search_query").innerText = reference
            Do: DoEvents: Loop While .readystate <> 4 Or .Busy
            .document.all("submit_search").Click
            Do: DoEvents: Loop While .readystate <> 4 Or .Busy
            .document.getElementsByClassName("price") = myValue
            myValue = Sheets("Catalogue").Cells(2, 3)
            MsgBox myValue
            .document.getElementsByClassName("availability") = myValue1
            myValue1 = Sheets("Catalogue").Cells(2, 5)
        End If
    End With
End Function
Voici l'extrait type du code source de la fiche produit.

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
23
24
</form>
<!-- /Sort products -->
		<!-- Products list -->
	<ul id="product_list" class="clear">
			<li class="ajax_block_product first_item item clearfix">
			<div class="center_block">
				<a href="http://www.bio-express.fr/catalogue/product.php?id_product=128979" class="product_img_link" title="B-Force (Levure de Bi&egrave;re) - 250 comprim&eacute;s "><img src="/catalogue/img/p/128979-21363-home.jpg" alt="04209023" /></a>
				<span>Abbaye de Sept-Fons</span>
				<h3><a href="http://www.bio-express.fr/catalogue/product.php?id_product=128979" title="B-Force (Levure de Bi&egrave;re) - 250 comprim&eacute;s ">B-Force (Levure de Bi&egrave;re) - 250 comprim&eacute;s </a></h3>
				<!--<p class="product_desc"><a href="http://www.bio-express.fr/catalogue/product.php?id_product=128979" title="Pas de description disponible pour ce produit. Vous pouvez contacter la télévent&hellip;">Pas de description disponible pour ce produit. Vous pouvez contacter la télévent&hellip;</a></p>-->
            <p class="product_desc">
                                		                        <div class="discount_list_other_discounts">
                            Pour 6 achet&eacute;s =
                                                					-10%
                    				                				</div>
                		                        				              </p>
			</div>
			<div class="right_block">
				<div>
					<span class="price" style="display: inline;">4,07 €</span><br />
					<span class="availability">
    					                                                            <span class="prod_stock_list prod_stock_caution">Stock &lt; 10 !</span>
                                                    					</span>
				</div>
En l'attente de vos réponses, bonne soirée à tous.