Bonjour à tous !

Je vais essayer de simplifier au maximum ma demande et de la retranscrire le plus clairement possible, ma première tentative était un peu brouillonne . J'ai regardé des faq et des tutos sans que j'arrive à concevoir les lignes miracles qui me sauveront.
- Ma demande ne concerne que le ciblage des données, le reste est fait.
- J'ai donc une liste d'ID dans ma colonne AA
- Je génère une page web et un code source qui rassemble toutes les données que j'ai besoin pour toutes mes ID
- Je souhaiterai extraire en boucle une donnée pour chaque ID et mettre cette donnée dans la cellule à côté de l'ID

Voici ci-dessous à quoi ressemble le code source de la page web. "<reference></reference>" se répéte autant de fois que j'ai d'ID. La donnée souhaitait ("<contenu><global><donnee><amount>") et l'ID sont enfants de référence, la donnée souhaitait n'est donc pas enfant de l'ID. Je rajouterai que dans le code source, les ID n'apparaisent pas dans le même ordre que dans ma colonne.

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
<reference>
    - <ID>une de mes ID contenu dans une cellule excel</ID>
    + <...></...>
    - <contenu>
	+ <...></...>
        - <global>
           + <...></...>
           - <donnee>
                <amount>"ID.Offset(0, 1)", donné souhaitait</amount>
             </donnee>
	   + <...></...>
         </global>
         + <...></...>
      </contenu>  
</reference>
 
<reference>
	- <ID>une autre ID contenu dans une cellule excel</ID>
	...
</reference>
 
<reference>
...X48...
</reference>

Voici la macro que j'ai crée avec mes pauvres connaissances:

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
Dim ListingID As String
Dim Url As String
Dim ID As Range
Dim Code As String
Dim donneesouhaitait As String
 
 
'concatenation des ID de ma colonne AA, en les mettant sur une seule ligne avec un tiret entre chaque
ThisWorkbook.Worksheets("Feuill1").Range("C2").FormulaLocal = "=Concatplage(A2:A50;""-"")"
ListingID = ThisWorkbook.Worksheets("feuill1").Range("C2")
 
'génération de l'url
Url = "http://www.site.com/" & ListingID
 
'génération du code source contenant les données
Code = PostCodeSource(Url)
 
'extraction des données utiles avec une boucle
For Each ID In ThisWorkbook.Worksheets("feuill1").Range("A2:A50")
 
' c'est ici que je bloque...que faire ???
' ??? Cible = Code.getElementsByTagName("ID")??? 
' ??? donneesouhaitait = Cible (Split(Split(Code, "<reference><contenu><global><donnee><amount>")(1), "</amount>")(0)) ???
 
ID.Offset(0, 1) = donneesouhaitait
 
Next ID
Merci pour votre aide car je patauge, je rame et des fois je m'envole.