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,

15classeur.xlsx (10.44 Ko)

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 Sub

Bonne 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é . J'ai découvert ce problème en testant la macro.

Merci beaucoup pour l'aide.

8classeurv2.xlsx (10.67 Ko)
Rechercher des sujets similaires à "convertir fichier html format csv"