Créer un tableau comparatif à partir d'infos scrappées sur e-catalogue
Salut à tous
L'objectif est de mettre en forme les infos dispo dans la feuille 1 dans un tableau comparatif comme en feuille 2 (ce sont des infos de fours micro ondes scrappées sur darty, si la méthode vous intéresse go sur Growth Hacking)
Lecture de la feuille 1 :
La première ligne regroupe le nom des 15 infos récupérées, elles sont séparées par une virgules.
Les lignes suivantes se lisent par 2 (2 lignes par fours), les 15 infos sont séparées en 3 cases de la manière suivante:
premier four B1, C1 et C2 ; deuxiéme four D1, E1 et E2 ; troisiéme four F1, G1 et G2 ; ....
En assemblant les 3 cases a chaque fois on retrouve bien les 15 infos séparées par une virgule pour chaque four.
Alors le but est de mettre en forme toutes ces données avec en colonnes les 15 infos et une ligne par four (comme l'exemple en feuille 2)
1000 Mercis d’avance
J'y réfléchit mais je suis débutant - - (déjà écrire le problème ma permis d'avancer, je travail de mon coté mais oaw difficile ^^)
c'est Validé :D
Private Function Élément(chn$, i, g) As String
Dim Tbl: Tbl = Split(chn, g): Élément = Tbl(i)
End Function
Sub transfo()
Dim infos As String
Dim caractéristiques As String
Sheets(1).Activate
nbfours = (Range("A" & Rows.Count).End(xlUp).Row / 2) - 1
caractéristiques = Range("A1")
nbcaractéristiques = Len(caractéristiques) - Len(Replace(caractéristiques, ",", ""))
Sheets(2).Activate
For i = 0 To nbcaractéristiques
Cells(1, (1 + i)) = Élément(caractéristiques, i, ",")
Next
For k = 0 To (nbfours - 1)
Sheets(1).Activate
infos = Cells(2 + k * 2, 1) & Cells(3 + k * 2, 1) & Cells(3 + k * 2, 2) & Cells(3 + k * 2, 3) & Cells(3 + k * 2, 4)
nbinfos = Len(infos) - Len(Replace(infos, Chr(34), ""))
Sheets(2).Activate
n = 0
For l = 0 To nbinfos
test = Élément(infos, l, Chr(34))
If test <> "," Then
Cells(2 + k, 1 + n) = Élément(infos, l, Chr(34))
n = n + 1
End If
Next
Next
End Sub