Caractères accentués non gérés dans la lecture d'un fichier texte

Bonjour,

J'utilise l'instruction simple Line input pour lire le contenu d'un fichier texte mais cette instruction ne gère ne semble pas gérer les caractères accentués.
Voici le code que j'utilise :

    strFolder = ThisWorkbook.Path & "\EMAILS_TYPE_PE"
    strMessage = ""
    MyFile = Dir(strFolder & "\Email_PE_Standard.txt")
    If MyFile <> "" Then
        intFic = FreeFile
        Open strFolder & "\Email_PE_Standard.txt" For Input As intFic
        While Not EOF(intFic)
            Line Input #intFic, strLigne
            strMessage = strMessage & strLigne & vbCrLf
        Wend
        MsgBox strMessage
        Close intFic
    End If

Voici le résultat affiché :

image

Comment puis-je faire en sorte que les caractères accentués soit en pris en charge?
Merci d'avance pour votre aide

bonjour,

le fichier semble au format UTF-8

essaie ceci

Sub lirefichierUTF8()
    Dim objStream, strData,strfolder
    strFolder = ThisWorkbook.Path & "\EMAILS_TYPE_PE"
    Set objStream = CreateObject("ADODB.Stream")

    objStream.Charset = "utf-8"
    objStream.Open
    objStream.LoadFromFile (strFolder & "\Email_PE_standard.txt")

    strData = objStream.ReadText()
    objStream.Close
    msgbox strData
    Set objStream = Nothing
End Sub

Bonjour h2s04

Merci beaucoup pour votre réponse. Ca marche très bien.
Je suis néanmoins interpellé par la situation car mon fichier texte n'était pas supposé être en UTF-8. Il avait été enregistré via le Bloc Notes windows avec l'Encoding utf-8 par inadvertance.
Lorsque je l'ai enregistré au format Ansi mon code d'origine marchait. Et puis quand j'ai changé dans votre code la ligne objStream.Charset = "utf-8' par objStream.Charset = "ISO-8859-1" cela marchait aussi.
Ce que j'ai aimé dans votre code c'est que tout le fichier est chargé d'un coup au lieu d'une lecture ligne par ligne dans le mien.

Question :
Avec maintenant 2 codes qui fonctionnent sur le fichier de type Ansi, que me conseillerez vous de garder pour une question de qualité de code ou pensez-vous que les deux se valent sachant que le fichier texte que j'utiliserai ne dépasserai pas 1 ko car il s'agit juste d'un modèle de mail.

Encore merci

Bonjour,

selon moi il y a 2 critères, la facilité de maintenance (lisibilité du code) et la vitesse d'exécution. 2 critères qui sont en général contradictoires.

dans ce cas la vitesse n'est pas un souci (vu la taille des fichiers dont on parle).

Reste la lisibilité.

ton code est du basic pur, facile à lire pour quelqu'un qui connait le basic.

le code que j'ai mis fait appel à l'objet adodb, qui requiert une connaissance supplémentaire par rapport au basic pur. mais cela reste absolument compréhensible, même si on ne connait pas les propriétés et les méthodes del'objet en question, on devine aisément leur signification.

donc le choix est à faire en fonction du goût et des couleurs ...

Merci beaucoup. C'est parfait

Rechercher des sujets similaires à "caracteres accentues geres lecture fichier texte"