Option Explicit
'65001 'UTF8
Public Function UTF8_Decode(ByVal Text As String) As String
Dim lLength&, sBuffer$
Text = StrConv(Text, vbFromUnicode)
lLength = ExecuteExcel4Macro("CALL(""Kernel32"",""MultiByteToWideChar"",""JJJJJJJ""," & 65001 & ", " & 0 & ", """ & StrPtr(Text) & """, " & -1 & ", " & 0 & ", " & 0 & ")")
sBuffer = Space$(lLength)
lLength = ExecuteExcel4Macro("CALL(""Kernel32"",""MultiByteToWideChar"",""JJJJJJJ""," & 65001 & ", " & 0 & ", """ & StrPtr(Text) & """, " & -1 & ", " & StrPtr(sBuffer) & ", " & Len(sBuffer) & ")")
UTF8_Decode = Left$(sBuffer, lLength - 1)
End Function
Sub Test_Ter()
Dim stg, zzz, i%, Bazinga$
stg = Array("NOM1 Marie-Ségolène", "NOM2 BÉRÉNICE", "NOM3 Marie-Ségolène", "NOM4 BÉRÉNICE", "NOM5 Marie-Ségolène", "NOM6 BÉRÉNICE", "NOM7 Marie-Ségolène")
ReDim zzz(UBound(stg))
For i = LBound(stg) To UBound(stg)
zzz(i) = UTF8_Decode(CStr(stg(i)))
Next
Bazinga = Join(zzz, Chr(10))
MsgBox Bazinga
End Sub