Fonction VBA : htmlCodePage

La fonction VBA htmlCodePage récupère le code HTML d'une page Web (elle renvoie la valeur -1 en cas d'erreur).

Utilisation :

htmlCodePage(lien)

Ou (pour envoyer des données en POST) :

htmlCodePage(lien, données)


Exemple d'utilisation

Récupération du code HTML de la page d'accueil du forum htmlCodePage("https://forum.excel-pratique.com") :

Sub exemple()

    codeHtml = htmlCodePage("https://forum.excel-pratique.com")
    
    'Affichage du début du code HTML dans une MsgBox pour cet exemple
    MsgBox codeHtml

End Sub

Pour que cela fonctionne correctement, entrez le lien complet (avec "http://" ou "https://" au début du lien).

msgbox vba html code page
Si vous affichez le résultat dans une MsgBox ou dans une cellule du classeur, il est normal que le code HTML ne soit pas affiché au complet (le nombre de caractères autorisés dans une MsgBox et dans une cellule est limité).

Copie du code HTML dans les cellules

Voici un autre exemple d'utilisation de cette fonction qui commence ici par diviser le code HTML par ligne et copie ensuite chaque ligne dans une cellule à la suite :

Sub exemple()
    
    Application.ScreenUpdating = False
    
    codeHtml = htmlCodePage("https://forum.excel-pratique.com")
    codeHtml = Split(codeHtml, Chr(10)) 'Division par ligne
    
    For i = 0 To UBound(codeHtml)
        Cells(i + 1, 1) = codeHtml(i)
    Next

End Sub
excel code html site web page

Remarque : cette fonction nécessite l'installation du pack de fonctions XLP (un add-in gratuit pour Excel qui ajoute 92 nouvelles fonctions).