IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Convertir en csv - unicode [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 7
    Par défaut Convertir en csv - unicode
    Bonjour à tous,

    je dois importer dans un logiciel des fichiers CSV.
    J'obtiens ces fichiers csv depuis des fichiers excel. Or j'ai des données comportant des caractères turques.

    Quand je convertis le fichier excel en csv, que je ferme et que je le réouvre, les caractères turques sont remplacés par des ?.
    Le problème semble être récurrent sur beaucoup de forums (francophones et anglophones) depuis plusieurs années, mais je n'ai pas réussi à trouver de solution satisfaisante.
    Je précise qu'il est indispensable d'obtenir in fine des fichiers csv, et pas des fichiers .txt, pour l'import dans le logiciel.

    Quelque a-t-il une idée ou un lien vers une page que je n'aurais pas trouvée ?

    Merci beaucoup de votre aide.

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Ci dessous une procédure qui enregistre les données d'une feuille au format CSV en table de caractère unicode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Sub CsvUnicode()
     
    Dim strLigne As String
    Dim iCol As Integer
    Dim i As Long
     
    Dim fso As Object
    Dim txtStrm As Object
     
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txtStrm = fso.CreateTextFile("c:\text.csv", Overwrite:=True, Unicode:=True)
     
    For i = 1 To Range("A65536").End(xlUp).Row
     
        strLigne = ""
     
        For iCol = 1 To Rows(i).End(xlToRight).Column
            If strLigne <> "" Then strLigne = strLigne & ";"
            strLigne = strLigne & Cells(i, iCol).Value
     
        Next iCol
     
        txtStrm.WriteLine strLigne
     
    Next i
     
    txtStrm.Close
     
    End Sub

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 7
    Par défaut
    Merci pour la réponse.

    Pour l'instant j'ai un "Erreur d'exécution '70' : Permission refusée" que je ne comprends pas très bien à la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set txtStrm = fso.CreateTextFile("c:\text.csv", Overwrite:=True, Unicode:=True)

  4. #4
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 207
    Billets dans le blog
    2
    Par défaut
    Bonjour hugues, Bonjour jfontaine,

    Peut-être n'as tu pas de droits d'écriture sur ton disque C:

    Change l'adresse de destination du fichier
    "c:\text.csv"
    Vers un emplacement où tu sais avoir le droit d'écriture

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 7
    Par défaut
    Bien vu, ça fonctionne.
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XML] convertir fichier CSV en XML
    Par Yudala dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 16/02/2007, 10h05
  2. Convertir un fichier unicode en ansi?
    Par Faiche dans le forum C++
    Réponses: 7
    Dernier message: 06/10/2006, 08h15
  3. Comment convertir de L'unicode en texte accentué
    Par L4BiN dans le forum Langage
    Réponses: 2
    Dernier message: 26/06/2006, 17h59
  4. [C#] Convertir un string UNICODE => ASCII
    Par alex57 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 10/09/2005, 20h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo