Convertir un tableau Excel en tableau HTML, Excel VBA

Convertir un tableau Excel en tableau HTML, Excel VBA

Pour convertir un tableau Excel en tableau HTML en utilisant VBA (Visual Basic for Applications), nous allons suivre les étapes suivantes : 

Étapes principales : 

  1. Sélectionner les données du tableau que vous souhaitez convertir. 
  2. Boucler à travers les lignes et colonnes de ces données pour générer la structure HTML du tableau. 
  3. Créer un fichier HTML et y écrire le contenu du tableau au format HTML. 
  4. Ouvrir ou enregistrer ce fichier HTML pour que vous puissiez l’utiliser ou le visualiser dans un navigateur. 

Voici un exemple de code VBA détaillé pour accomplir cette tâche : 

Code VBA pour convertir un tableau Excel en tableau HTML 

Sub ConvertirTableauEnHTML() 
    ' Déclaration des variables 
    Dim ws As Worksheet 
    Dim tableau As Range 
    Dim cell As Range 
    Dim html As String 
    Dim i As Long, j As Long 
    Dim fichierHTML As String 
    Dim outputFile As Integer 
    ' Définir la feuille de calcul contenant le tableau 
    Set ws = ThisWorkbook.Sheets("Sheet1") ' Remplacer "Sheet1" par le nom de votre feuille 
    Set tableau = ws.Range("A1:C5") ' Remplacer "A1:C5" par la plage de votre tableau 
    ' Initialiser la chaîne HTML 
    html = "<html>" & vbCrLf 
    html = html & "<head><title>Tableau Excel en HTML</title></head>" & vbCrLf 
    html = html & "<body>" & vbCrLf 
    html = html & "<table border='1' cellpadding='5' cellspacing='0'>" & vbCrLf 
    ' Ajouter les en-têtes du tableau (ligne 1) 
    html = html & "<tr>" 
    For j = 1 To tableau.Columns.Count 
        html = html & "<th>" & tableau.Cells(1, j).Value & "</th>" 
    Next j 
    html = html & "</tr>" & vbCrLf 
    ' Ajouter les lignes de données 
    For i = 2 To tableau.Rows.Count 
        html = html & "<tr>" 
        For j = 1 To tableau.Columns.Count 
            html = html & "<td>" & tableau.Cells(i, j).Value & "</td>" 
        Next j 
        html = html & "</tr>" & vbCrLf 
    Next i 
    ' Fermer la balise du tableau et du HTML 
    html = html & "</table>" & vbCrLf 
    html = html & "</body>" & vbCrLf 
    html = html & "</html>" 
    ' Définir le chemin du fichier HTML à enregistrer 
    fichierHTML = Application.GetSaveAsFilename(FileFilter:="HTML Files (*.html), *.html") 
    ' Vérifier si l'utilisateur a choisi un emplacement pour enregistrer 
    If fichierHTML <> "False" Then 
        ' Ouvrir le fichier pour écrire 
        outputFile = FreeFile 
        Open fichierHTML For Output As outputFile 
        ' Écrire le contenu HTML dans le fichier 
        Print #outputFile, html 
        ' Fermer le fichier 
        Close outputFile 
        ' Message de confirmation 
        MsgBox "Le tableau a été converti en HTML avec succès !", vbInformation 
    End If
End Sub

Explication du code 

1. Déclaration des variables

  • ws: représente la feuille de calcul contenant les données. 
  • tableau: représente la plage de données du tableau Excel (vous pouvez ajuster la plage selon vos besoins). 
  • html: contient la structure du tableau HTML. 
  • fichierHTML: le chemin du fichier HTML où le tableau sera enregistré. 
  • outputFile: permet d’ouvrir et de manipuler le fichier pour y écrire le code HTML. 

2. Construction du code HTML

  • En-têtes : Le code génère une ligne d’en-têtes <th> pour les premières cellules de la plage. 
  • Données : Chaque ligne du tableau Excel est lue et convertie en une ligne <tr> dans le tableau HTML, avec chaque cellule transformée en <td>. 

3. Enregistrement du fichier HTML

  • GetSaveAsFilename permet à l’utilisateur de choisir où et sous quel nom enregistrer le fichier HTML. 
  • Le fichier HTML est ensuite ouvert en mode écriture et le contenu du tableau est écrit dedans. 
  • Enfin, le fichier est fermé et un message de confirmation est affiché. 

Personnalisation 

  • Plage du tableau : Changez la plage Set tableau = ws.Range(« A1:C5 ») pour correspondre à la plage de votre tableau. 
  • Feuille de calcul : Remplacez « Sheet1 » par le nom réel de votre feuille de calcul. 
  • Attributs du tableau HTML : Vous pouvez personnaliser le tableau HTML (ajouter des couleurs, des bordures, etc.) en modifiant le code HTML dans la variable html. 

Utilisation 

  1. Ouvrez l’éditeur VBA dans Excel (ALT + F11). 
  2. Dans le menu Insertion, sélectionnez Module pour créer un nouveau module. 
  3. Collez le code dans le module. 
  4. Exécutez la macro ConvertirTableauEnHTML pour convertir le tableau Excel en fichier HTML. 

Ce code vous permettra de convertir facilement vos tableaux Excel en fichiers HTML et de les utiliser dans des pages web ou d’autres applications. 

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x