Macro enregistrer csv en UTF-8

mikael2235

XLDnaute Occasionnel
Bonjour à tous,

J'ai un site web avec base de données gérée via PhpMyAdmin.

Pour mettre à jour ma base, j'exporte mes tables directement en csv (avec séprateur point virgule, et pas de caractères autour des valeurs)

J'ai ensuite fais une macro, qui m'ouvre mon fichier csv en UTF-8 et me le sépare sur ma feuille excel.

- JE PEUX DONC LE MODIFIER -

Après les modifs j'ai fais une macro pour me le reconvertir en csv, et c'est à ce moment que je rencontre un problème. Word ne me le met pas en UTF-8.
J'ai essayé en changeant le codage dans "Options Web", mais ça ne change rien.

Et si il n'est pas en UTF-8, je ne peux pas le réintégrer dans ma base.

Merci pour votre aide et conseils.
 
G

Guest

Guest
Re : Macro enregistrer csv en UTF-8

Bonjour,

Voici une macro qui enregistre une chaine de texte en UTF-8 sur disque.
Lui passer le contenu de ton .csv
Code:
Private Sub EcrireFichierUtf8(ByVal CheminFichier As String, ByVal Texte As String)
  
  'Création d'un flux de donnée ADODB.Stream
  Dim oStream As Object
  Set oStream = CreateObject("ADODB.Stream")
  'Ouvrir
  oStream.Open
  oStream.Position = 0
  
  'Mettre le flux en UTF-8
  oStream.Charset = "UTF-8"
  'Ecrire le texte dans le flux de données
  oStream.WriteText Texte
  'L'ecrire sur disque
  oStream.SaveToFile CheminFichier
  Set oStream = Nothing
  
End Sub

A+
 
G

Guest

Guest
Re : Macro enregistrer csv en UTF-8

Re,

Oui, excuse, remplace 'Private' par 'Public'

P.S. je ne sait pas comment Word lira le fichier résultant, c'est un autre problème à discuter sur un forum Word

A+
 
G

Guest

Guest
Re : Macro enregistrer csv en UTF-8

Bonsoir,

C'est normal qu'elle n'apparaisse pas dans la liste des macros, c'est une procédure à laquelle il faut passer le nomCompletDufichier et le texte à enregistrer.
Ton post #1 à dit:
j'ai fais une macro pour me le reconvertir en csv

M'a laissé supposé que tu savais écrire une macro et par conséquent la lancer.

La procédure que je t'ai donnée il faut l'appeler à partir d'une autre macro:

Code:
Sub Macro()
'..........
 EcrireFichierUtf8 "C:\Papati\Patata\LeFichier.csv", VariableContenantLeTexteAEnregistré.
 
End Sub

A+
 

ademus

XLDnaute Nouveau
Re : Macro enregistrer csv en UTF-8

Solution simple.
Créer un fichier TXT avec un éditeur de texte comme notepad
Dans ce fichier, régler l'encodage à UTF8
Sauver avec l'extension .CSV et fermer

Aller dans Excel et ouvrez le fichier que vous voulez exporter en CSV
Sauver votre fichier avec le format CSV (comma delimited)
et enregistrer dans le fichier précedement créer avec l'encodage UTF8
L'encodage sera conservé
 

Discussions similaires

Statistiques des forums

Discussions
312 520
Messages
2 089 301
Membres
104 092
dernier inscrit
karbone57