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 érotiques <strong>jouez de vos charmes</strong> et mettez votre <strong>beauté naturelle</strong> en avant.<br /><strong>La culotte</strong> de notre collection est votre atout majeur pour faire ressortir vos <strong>courbes féminines</strong> et susciter le désir chez votre partenaire. <br />Alliant douceur et fermeté cette<strong> lingerie sexy</strong> s'adresse à 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 érotiques <strong>jouez de vos charmes</strong> et mettez votre <strong>beauté naturelle</strong> en avant.<br /><strong>La culotte</strong> de notre collection est votre atout majeur pour faire ressortir vos <strong>courbes féminines</strong> et susciter le désir chez votre partenaire. <br />Alliant douceur et fermeté cette<strong> lingerie sexy</strong> s'adresse à 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, "é", "é")
Chaine = Replace(Chaine, "à", "à")
MsgBox Chaine
End SubSalut,
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 érotiques <strong>jouez de vos charmes</strong> et mettez votre <strong>beauté naturelle</strong> en avant.<br /><strong>La culotte</strong> de notre collection est votre atout majeur pour faire ressortir vos <strong>courbes féminines</strong> et susciter le désir chez votre partenaire. <br />Alliant douceur et fermeté cette<strong> lingerie sexy</strong> s'adresse à 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, "é", "é")
Chaine = Replace(Chaine, "à", "à")
'et ici, l'inverse : Range("A1").Value = Chaine
MsgBox Chaine
End Sub