Nettoyage HTML & Conversion UTF-8

Bonjour,

J'ai un souci et j'ai beau chercher dans tous les sens impossible de trouver ce que je veux faire.

J'ai exporté ma base de donnée de mon site Magento et je me retrouve avec un fichier .CSV tronqué et impossible d'en avoir un plus clean (entre autres pour des problèmes de serveur..) bref, voila par exemple ce que j'ai :

<br />Avec ses accessoires sensuels et &eacute;rotiques <strong>jouez de vos charmes</strong> et mettez votre <strong>beaut&eacute; naturelle</strong> en avant.<br /><strong>La culotte</strong> de notre collection est votre atout majeur pour faire ressortir vos <strong>courbes f&eacute;minines</strong> et susciter le d&eacute;sir chez votre partenaire. <br />Alliant douceur et fermet&eacute; cette<strong> lingerie sexy</strong> s'adresse &agrave; toutes les femmes qui aiment <strong>s'exprimer avec leurs corps</strong>.</p>

J'ai donc de l'HTML et de mon texte avec accents FR se retrouve code en HTML aussi.

J'ai essayé de re-convertir vers UTF-8 ou se passer par OpenOffice, rien a faire mon texte reste comme ca.

Problème c'est que j'ai plus de 1000 lignes comme celle ci, sinon je le ferai à la main bien sur

Qqun a une idée pour reconvertir tout ca en texte clean ?

Merci d'avance

Bonjour,

Une piste pour t'aiguiller mais il va sûrement y avoir encore quelques ajustements à faire :

Sub Test()

    Dim Chaine As String
    Dim Pos1 As Long
    Dim Pos2 As Long

    Chaine = "<br />Avec ses accessoires sensuels et &eacute;rotiques <strong>jouez de vos charmes</strong> et mettez votre <strong>beaut&eacute; naturelle</strong> en avant.<br /><strong>La culotte</strong> de notre collection est votre atout majeur pour faire ressortir vos <strong>courbes f&eacute;minines</strong> et susciter le d&eacute;sir chez votre partenaire. <br />Alliant douceur et fermet&eacute; cette<strong> lingerie sexy</strong> s'adresse &agrave; toutes les femmes qui aiment <strong>s'exprimer avec leurs corps</strong>.</p>"

    'supprime toutes les balises
    Do While InStr(Chaine, "<") <> 0

        Pos1 = InStr(Chaine, "<")
        Pos2 = InStr(Chaine, ">")

        Chaine = Replace(Chaine, Mid(Chaine, Pos1, Pos2 - Pos1 + 1), "")

    Loop

    'effectue les remplacement de caractères accentués
    Chaine = Replace(Chaine, "&eacute;", "é")
    Chaine = Replace(Chaine, "&agrave;", "à")

    MsgBox Chaine

End Sub

Salut,

Merci pour ton aide

Alors déjà j'ai trouvé un truc, c'est pour nettoyer le HTML. J'ai utilisé la balise <*> dans rechercher / remplacer et ca marche.

Par contre pour les caractères si je comprends bien je dois faire une formule VBA ?

Je suis pas très familier avec ca mais je vais tester.

Merci encore

Bonjour Thèze,

Je dois dire que je bloque un peu sur le code.

Je me souviens pas avoir fait du VBA avant et encore moins sur Office Mac 2011 :-/

Je dois le mettre ou ce code ?

Aussi, ce que tu m'as donné semble s'appliquer uniquement a cette ligne en particulier, non?

Merci de ton aide

Bonjour,

En VBA, ceci ne marche pas :

Chaine = Replace(Chaine, "<*>", "")

C'est pour cette raison que je fais un boucle Do-Loop afin de rechercher les < et > pour les supprimer ainsi que le texte qu'ils encadre !

Je ne sais pas comment fonctionne Excel pour Mac mais pour aller dans le VBE sur PC, tu fais Alt+F11 puis menu "Insertion"-->"Module" et dans la fenêtre qui vient d'apparaître, tu colles le code puis tu mets le curseur n'importe où dans le code et appuis sur F5 ou alors cliquer sur le petit triangle vert (Exécuter Sub/UserForm) . Ici le code avec une petite explication pour récupérer la chaine avant épuration puis après :

Sub Test()

    Dim Chaine As String
    Dim Pos1 As Long
    Dim Pos2 As Long

    'ici, la variable Chaine peut être alimentée par une cellule comme par exemple : Chaine = Range("A1").Value
    Chaine = "<br />Avec ses accessoires sensuels et &eacute;rotiques <strong>jouez de vos charmes</strong> et mettez votre <strong>beaut&eacute; naturelle</strong> en avant.<br /><strong>La culotte</strong> de notre collection est votre atout majeur pour faire ressortir vos <strong>courbes f&eacute;minines</strong> et susciter le d&eacute;sir chez votre partenaire. <br />Alliant douceur et fermet&eacute; cette<strong> lingerie sexy</strong> s'adresse &agrave; toutes les femmes qui aiment <strong>s'exprimer avec leurs corps</strong>.</p>"

    'supprime toutes les balises
    Do While InStr(Chaine, "<") <> 0

        Pos1 = InStr(Chaine, "<")
        Pos2 = InStr(Chaine, ">")

        Chaine = Replace(Chaine, Mid(Chaine, Pos1, Pos2 - Pos1 + 1), "")

    Loop

    'effectue les remplacement de caractères accentués
    Chaine = Replace(Chaine, "&eacute;", "é")
    Chaine = Replace(Chaine, "&agrave;", "à")

    'et ici, l'inverse : Range("A1").Value = Chaine
    MsgBox Chaine

End Sub
Rechercher des sujets similaires à "nettoyage html conversion utf"