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:
Merci pour votre aide car je patauge, je rame et des fois je m'envole.
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
Partager