Sub test()
'Lecture:
Texte = LireFichierTexteUTF8("C:\Users\polux\Desktop\Mémo UTF-8.txt")
MsgBox "lecture fonction Marcel " & vbNewLine & Texte
'ajout de texte & ecriture
ÉcrireFichierTexteUTF8 Texte & vbNewLine & "et le e accent circonflexe -->ê", "C:\Users\polux\Desktop\Mémo2 UTF-8.txt"
're lecture apres ajout
Texte = LireFichierTexteUTF8("C:\Users\polux\Desktop\Mémo2 UTF-8.txt")
MsgBox Texte
'conversion ANSI To UDF-8
' fonction bimode patricktoulon
Texte = Open_For_Read_Force_Udf_8("C:\Users\polux\Desktop\Mémo 0.txt", texto$)
MsgBox " lecture fonction bimode Patrick d'un fichier ansi " & vbNewLine & texto
'réécriture fonction Marcel
ÉcrireFichierTexteUTF8 texto & vbNewLine & "et le e accent circonflexe -->ê", "C:\Users\polux\Desktop\PMémo2 UTF-8.txt"
'Lecture fonction Marcel
Texte = LireFichierTexteUTF8("C:\Users\polux\Desktop\pMémo2 UTF-8.txt")
MsgBox "lecture fonction Marcel du fichier converti" & vbNewLine & Texte
End Sub
'--------------------------------
'Lire fichier Texte codé en UTF-8
'--------------------------------
'https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/stream-object-ado-reference
Function LireFichierTexteUTF8(NomCompletFichier As String) As String
    Dim MonFlux As Object
    Set MonFlux = CreateObject("ADODB.Stream")
    With MonFlux
        'Regedit Ordinateur\HKEY_CLASSES_ROOT\MIME\Database\Charset
        .Charset = "utf-8"
        .Open
        .LoadFromFile NomCompletFichier
        LireFichierTexteUTF8 = .ReadText()
        .Close
    End With
    Set MonFlux = Nothing
End Function
'----------------------------------
'Écrire fichier Texte codé en UTF-8
'----------------------------------
'https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/stream-object-ado-reference
Sub ÉcrireFichierTexteUTF8(Texte, NomCompletFichier As String)
    Dim MonFlux As Object
    Set MonFlux = CreateObject("ADODB.Stream")
    
    With MonFlux
        'Regedit Ordinateur\HKEY_CLASSES_ROOT\MIME\Database\Charset
        .Charset = "utf-8"
        .Open
        .Position = 0
        .WriteText Texte
        .SaveToFile NomCompletFichier, 2
        .Close
    End With
    Set MonFlux = Nothing
End Sub
Function Open_For_Read_Force_Udf_8(ByVal fichier$, texto$)
    'patricktoulon
    Dim lachaine As String, x: x = FreeFile
    'lecture binnaire
    Open fichier For Binary Access Read As #x: lachaine = String(LOF(x), " "): Get #x, , lachaine: Close #x
    If Not lachaine Like "*[Ã|é|è|ç|â|€|«|»|û|ê|…|/ø|ø|À|É|È|Ã|Ö|]*" Then    'si la chaine ne contient pas de carateres sbizarre
        texto = lachaine    ' alors texto = lachaine
    Else    ' sinon on stream le fichier avec ADOBD.Stream
        With CreateObject("ADODB.Stream")
            .Charset = "utf-8": .Open: .LoadFromFile (fichier): texto = .ReadText()
        End With
    End If
End Function