Conversion des caractères accentués HTML

Bonjour,

A l'importation de contenu HTML dans un TextBox les caractères accentués et autres caractères spéciaux apparaissent sous une forme codée:

de type "&code;"

  • Pour "é" (e accent aigu) ce code est "eacute"
  • Pour "è" (e accent grave) - > "egrave"
  • "«" chr(171) -> "laquo"

Il n'y a absolument aucune difficulté à coder une solution avec le mot clef Replace mais certainement est-il possible de trouver quelque-part une procédure qui convertirait TOUS les caractères spéciaux ("&code;") susceptibles de figurer dans du code HTML.

Merci donc si vous avez connaissance d'une telle procédure de me faire parvenir le lien.

Bonjour,

Si le caractère avait été codé avec son n° ascii on aurait pu facilement créer une procédure simple.

Dans ton cas, il faut mettre une table de conversion dans un onglet et faire une recherche

434accents.xlsx (10.18 Ko)

Merci beaucoup Steelson,

C'est Nickel tout les caractères accentués y sont ! Mais petite réserve certains caractères spéciaux tels que : "«" chr(171) ou "ß" chr(223) ne sont pas dans la liste. Donc a moins que quelqu'un possède déjà cette liste exhaustive et me la fasse parvenir, je vais essayer de compléter ton fichier et le restituer ici.

Merci encore donc et je suis content de retomber sur toi qui a été le premier à répondre à mon premier Post alors que j'étais "Nouveau venu" et de surcroit m'y avait déposé un vote

@+

Re-bonjour,

Voici le fichier complet permettant d'afficher du code HTML sans balises et avec caractères spéciaux corrigés.

268importhtml.xlsm (21.91 Ko)

J'étais en train de compléter ... enlève le <br> à la fin !

Le <br> ? tu veux parler du </p> à la fin du caractère 255 que j'avais omis de retirer ? ou la fonction te renvoie vraiment un <br> en fin de chaine ? Ce serait curieux cela ne me le fait pas.

@+

oui c'est le <p>

57html-txt.txt (1.85 Ko)

bonjour ,

je ne peux ma metre le code directement car le wisiwig du forum me converti le texte!

Sub test()
Debug.Print HtmlTxt("ÖöÜüŸÿÃãĨĩÕõÇç <br>")
End Sub

Bonjour dysortographie,

merci pour ce fichier qui contient également la fonction réciproque. Cependant ton code ne couvre pas tous les caractères spéciaux contrairement à celui inclus dans ce classeur:

110importhtml.xlsm (22.08 Ko)

@+

bonjour,

. Cependant ton code ne couvre pas tous les caractères spéciaux

exacte mais le tient ne fais pas le distinguo entre minuscule et majuscule!

Replace(HtmlTxt, Htm(I), Txt(I), 1, compare:=vbBinaryCompare)

il te serais plus simple d'ajouter les manques à mon code que de corriger le tient!

je me demande de qu'elle source provient ce code HTML!

d'internet explorer?

set x =IE.document.getElementById('test')
mesgbox x.InnerHTML 'source avec balise
mesgbox x.innerText 'texte brut sans balise

Re-bonjour dysorthographie, je ne comprends pas ton dernier Post mon code fait bien le distinguo entre majuscules et minuscules identifiées par des codes HTML et ASCII distincts. J'en reste donc à ma procédure qui me parait moins "usine à gaz" que la tienne.

Slts,

Ok désolé

en fait je n'avais pas téléchargé la dernier mouture, .

elle est bien mieux mais je confirme tu ne fais pas le distinguo entre minuscule et majuscule

'"é233", "É201"
HTMLText = Replace(HTMLText, Left(S, p1), Chr(Mid(S, p1 + 1))) 'ici c'est le é qui l'emporte sur le É

HTMLText = Replace(HTMLText, Left(S, p1), Chr(Mid(S, p1 + 1)) , compare:=vbBinaryCompare)

Rechercher des sujets similaires à "conversion caracteres accentues html"