Convertir fichier HTML en format CSV
Bonjour,
Je sollicite votre aide pour une macro Excel. J'ai plusieurs fichiers de données en format HTML que j'aimerais les convertir en format CSV sous Excel avec une macro.
La structure du fichier HTML est la suivante:
Les titres de colonnes commencent à partir de la ligne 19.
Après la table comporte 5 colonnes. Le contenu dans la 1ère colonne est affiché sur deux lignes, j'aimerais copier le texte de la 2e ligne (si existe) dans une nouvelle colonne. Un exemple de ces données est ci-joint vous donnant un aperçu sur l'input et le résultat souhaitable.
Je souhaiterais que la macro supprime toutes les lignes avant la ligne 19 et qu'une fonction d'export en format CSV se déclenchera à la fin d'exécution donnant accès à un écran d'enregistrement, si possible.
Je vous remercie d'avance de votre aide.
Cordialement,
Salut debenexcel,
à tester
Sub HTML_en_CSV()
Dim x As Worksheet, y As Worksheet
Dim i As Integer, Derligne_x As Integer, Derligne_y As Integer
Dim RemplirPlage As Variant
Application.ScreenUpdating = False
With ThisWorkbook
.Sheets.Add(After:=.Sheets(.Sheets.Count)).Name = "Resultat"
End With
Set x = ThisWorkbook.Sheets("Input")
Set y = ThisWorkbook.Sheets("Resultat")
Derligne_x = x.Cells(x.Rows.Count, "A").End(xlUp).Row
RemplirPlage = VBA.Array("Number", "Description", "Code", "ACQDate", "Number", "LastUsage")
y.Range("A1:F1").Value = RemplirPlage
Derligne_y = y.Range("A1").Rows.Count + 1
For i = 20 To Derligne_x Step 2
If x.Cells(i, 1).Value <> 0 Then
y.Cells(Derligne_y, 1) = x.Cells(i + 1, 2)
y.Cells(Derligne_y, 2) = x.Cells(i, 1)
y.Cells(Derligne_y, 3) = x.Cells(i + 1, 1)
y.Cells(Derligne_y, 4) = x.Cells(i + 1, 3)
y.Cells(Derligne_y, 5) = x.Cells(i + 1, 4)
y.Cells(Derligne_y, 6) = x.Cells(i + 1, 5)
Derligne_y = Derligne_y + 1
End If
Next i
Application.ScreenUpdating = True
End SubBonne soirée
Bonsoir,
Le code fonctionne bien, mais j'ai oublié de mentionner que dans certaines lignes de la première colonne la même description comporte plusieurs codes et numéros. La description est affichée une seule fois, mais le code est le même pour chaque numéro. Pour ces cas, la macro devrait dupliquer la description pour chacune des lignes. Ci-joint une nouvelle version de mon fichier comportant un exemple de ces cas particuliers.
Je suis désolé
Merci beaucoup pour l'aide.