OVH Cloud OVH Cloud

export UTF8

5 réponses
Avatar
campsb
Bonjour,
comment exporter des datas contenus dans un claseur vers un fichier
texte en UTF8.
Actuellement ma macro cr=E9e le fichier et le remplis mais il est en
ascii et non utf8.

merci de votre aide

5 réponses

Avatar
Michel Pierron
Bonsoir; une fois ton fichier txt créé, traite le avec la procédure
ci-dessous en indiquant le chemin complet de ton fichier text.

Sub Encode(ByVal sPath$, Optional SetChar$ = "UTF-8")
With CreateObject("ADODB.Stream")
.Open
.LoadFromFile sPath ' Loads a File
.Charset SetChar ' sets stream encoding (UTF-8)
.SaveToFile sPath, 2 ' adSaveCreateOverWrite
.Close
End With
End Sub


MP

a écrit dans le message de news:

Bonjour,
comment exporter des datas contenus dans un claseur vers un fichier
texte en UTF8.
Actuellement ma macro crée le fichier et le remplis mais il est en
ascii et non utf8.

merci de votre aide
Avatar
campsb
Bonjour,
cela ne fonctionne pas. En effet il semblerai que l'on ne peut pas
positionner le charset (erreur 450)

une autre idée ????



Bonsoir; une fois ton fichier txt créé, traite le avec la procédure
ci-dessous en indiquant le chemin complet de ton fichier text.

Sub Encode(ByVal sPath$, Optional SetChar$ = "UTF-8")
With CreateObject("ADODB.Stream")
.Open
.LoadFromFile sPath ' Loads a File
.Charset SetChar ' sets stream encoding (UTF-8)
.SaveToFile sPath, 2 ' adSaveCreateOverWrite
.Close
End With
End Sub


MP

a écrit dans le message de news:

Bonjour,
comment exporter des datas contenus dans un claseur vers un fichier
texte en UTF8.
Actuellement ma macro crée le fichier et le remplis mais il est en
ascii et non utf8.

merci de votre aide


Avatar
campsb
Bonjour,
cela ne fonctionne pas. En effet il semblerai que l'on ne peut pas
positionner le charset (erreur 450)

une autre idée ????



Bonsoir; une fois ton fichier txt créé, traite le avec la procédure
ci-dessous en indiquant le chemin complet de ton fichier text.

Sub Encode(ByVal sPath$, Optional SetChar$ = "UTF-8")
With CreateObject("ADODB.Stream")
.Open
.LoadFromFile sPath ' Loads a File
.Charset SetChar ' sets stream encoding (UTF-8)
.SaveToFile sPath, 2 ' adSaveCreateOverWrite
.Close
End With
End Sub


MP

a écrit dans le message de news:

Bonjour,
comment exporter des datas contenus dans un claseur vers un fichier
texte en UTF8.
Actuellement ma macro crée le fichier et le remplis mais il est en
ascii et non utf8.

merci de votre aide


Avatar
Michel Pierron
Bonjour;
Je ne vois pas pourquoi, car pour moi, ça marche sans erreur et donne bien
le résultat escompté:

Sub Test()
Const sFile = "MonFichier.txt"
Dim sPath$: sPath = ThisWorkbook.Path & "" & sFile
Call Encode(sPath)
End Sub

Sub Encode(ByVal sPath$, Optional SetChar$ = "UTF-8")
With CreateObject("ADODB.Stream")
.Open
.LoadFromFile sPath
.Charset = SetChar
.SaveToFile sPath, 2
.Close
End With
End Sub


MP


a écrit dans le message de news:

Bonjour,
cela ne fonctionne pas. En effet il semblerai que l'on ne peut pas
positionner le charset (erreur 450)

une autre idée ????



Bonsoir; une fois ton fichier txt créé, traite le avec la procédure
ci-dessous en indiquant le chemin complet de ton fichier text.

Sub Encode(ByVal sPath$, Optional SetChar$ = "UTF-8")
With CreateObject("ADODB.Stream")
.Open
.LoadFromFile sPath ' Loads a File
.Charset SetChar ' sets stream encoding (UTF-8)
.SaveToFile sPath, 2 ' adSaveCreateOverWrite
.Close
End With
End Sub


MP

a écrit dans le message de news:

Bonjour,
comment exporter des datas contenus dans un claseur vers un fichier
texte en UTF8.
Actuellement ma macro crée le fichier et le remplis mais il est en
ascii et non utf8.

merci de votre aide


Avatar
campsb
Ok j'ai trouvé l'erreur.
pour pouvoir positionner le charset il faut positionner le type. En
effet par défaut on est en binaire.



Sub Encode(ByVal sPath$, Optional SetChar$ = "UTF-8")
With CreateObject("ADODB.Stream")
.Open
.Type = adTypeText
.LoadFromFile sPath
.Charset = SetChar
.SaveToFile sPath, 2
.Close
End With
End Sub


merci de votre aide


Bonjour;
Je ne vois pas pourquoi, car pour moi, ça marche sans erreur et donne b ien
le résultat escompté:

Sub Test()
Const sFile = "MonFichier.txt"
Dim sPath$: sPath = ThisWorkbook.Path & "" & sFile
Call Encode(sPath)
End Sub

Sub Encode(ByVal sPath$, Optional SetChar$ = "UTF-8")
With CreateObject("ADODB.Stream")
.Open
.LoadFromFile sPath
.Charset = SetChar
.SaveToFile sPath, 2
.Close
End With
End Sub


MP


a écrit dans le message de news:

Bonjour,
cela ne fonctionne pas. En effet il semblerai que l'on ne peut pas
positionner le charset (erreur 450)

une autre idée ????



Bonsoir; une fois ton fichier txt créé, traite le avec la procédu re
ci-dessous en indiquant le chemin complet de ton fichier text.

Sub Encode(ByVal sPath$, Optional SetChar$ = "UTF-8")
With CreateObject("ADODB.Stream")
.Open
.LoadFromFile sPath ' Loads a File
.Charset SetChar ' sets stream encoding (UTF-8)
.SaveToFile sPath, 2 ' adSaveCreateOverWrite
.Close
End With
End Sub


MP

a écrit dans le message de news:

Bonjour,
comment exporter des datas contenus dans un claseur vers un fichier
texte en UTF8.
Actuellement ma macro crée le fichier et le remplis mais il est en
ascii et non utf8.

merci de votre aide