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 :

Problème de guillemets dans un .csv [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3
    Par défaut Problème de guillemets dans un .csv
    Bonjour,

    Dans un fichier Excel contenant bon nombre de données, j'ai créé une macro qui a pour but de générer un fichier .csv au bon format pour un import ultérieur dans une base de données.

    La macro concatène les champs en intercalant des ";" et les pose dans la colonne A d'un onglet qu'elle créé.
    A part la première ligne contenant les entêtes, toutes les lignes sont du type
    VAR1 & ";" & VAR2 & ";" ... ";" & VALEUR
    ou VARx sont des chaines de caractère et Valeur un "string" contenant un nombre entier ou décimal.


    exemple
    couleur;objet;valeur
    bleu;voiture;3,1
    rouge;maison;4
    jaune;arbre;2,6

    Une fois toutes les lignes traitées, la macro copie l'onglet dans un nouveau fichier "import" puis enregistre celui-ci en .csv.

    Mon problème survient lors de l'enregistrement de ce fichier "import".
    J'ai pu vérifier via le débogage que lors de sa création la syntaxe des lignes est ok. Mais si l'on cherche à l'ouvrir ou à l'importer des guillemets font leur apparition au début et à la fin de chaque ligne contenant une valeur décimale.

    suite de l'exemple
    couleur;objet;valeur
    "bleu;voiture;3,1"
    rouge;maison;4
    "jaune;arbre;2,6"

    Les lignes 1 et 3 sont ok, les 2 et 4 sont rejetées lors de l'import.

    J'enregistre le fichier comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.SaveAs Filename:=FICHIER_EXP, _
        'FileFormat:=xlCSV, CreateBackup:=False
    La variable contenant la ligne entière concaténée avant collage est définie comme "string".

    J'ai essayé en générant un .txt / séparateur tab mais le résultat est pire car les guillemets sont sur toutes les lignes.

    A votre disposition pour un complément de description

    merci d'avance,

    kilikli

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 89
    Par défaut
    Bonjour Kilikli,

    J'ai eu exactement le même souci, je l'ai résolu en utilisant la syntaxe suivante :

    DirTxt et FichierTxt sont deux variables String hébergeant respectivement le chemin et le nom du fichier texte (extension .txt comprise).


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        ChDir DirTxt
        ActiveWorkbook.SaveAs Filename:= _
            FichierTxt, _
            FileFormat:=xlTextPrinter, CreateBackup:=False
    HTH,

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3
    Par défaut
    Nickel, plus de guillemets !!!

    Merci beaucoup !!

  4. #4
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2021
    Messages : 1
    Par défaut Enregistrer un csv sans guillemets
    Citation Envoyé par OokieDookie91 Voir le message
    Bonjour Kilikli,

    J'ai eu exactement le même souci, je l'ai résolu en utilisant la syntaxe suivante :

    DirTxt et FichierTxt sont deux variables String hébergeant respectivement le chemin et le nom du fichier texte (extension .txt comprise).


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        ChDir DirTxt
        ActiveWorkbook.SaveAs Filename:= _
            FichierTxt, _
            FileFormat:=xlTextPrinter, CreateBackup:=False
    HTH,
    Bonjour OokieDookie91, j'ai exactement les même problème je sais que votre code c'est la solution à mon problème mais je suis débutant je n'arrive pas à l'adapter. Pour mon cas, j'ai copié une feuille de mon activeworbook dans un autre fichier excel format csv, et je souhaite enregistrer ce deuxième fichier sans avoir les guillemets en plus lors de l'enregistrement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        ChDir DirTxt
        Fichier_input.SaveAs Filename:="C:\Users\223023963\Downloads\FlasquessupAndy\Link_Ansys_Excel\ansys_dxromreader\input1"
            FichierTxt, (et là je n'ai pas compris ce qu'il faut mettre)
            FileFormat:=xlCSV, CreateBackup:=False
    Voilà, le "fichier_input" c'est mon fichier csv dans quoi j'ai copié une feuille de mon activebook et que je souhaite enregistrer au format csv sans les guillemets en trop. Je vous remercie par avance pour votre aide.

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

Discussions similaires

  1. [SQL] Problème de guillemets dans un INSERT INTO SELECT
    Par Lenezir dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 25/02/2008, 14h21
  2. Problème de séparateur dans fichier CSV
    Par mbibim63 dans le forum Excel
    Réponses: 4
    Dernier message: 05/07/2007, 08h29
  3. problème des guillemets dans une requête
    Par Smix007 dans le forum Requêtes
    Réponses: 3
    Dernier message: 24/04/2007, 17h09
  4. problème de guillemets dans un parametre SQL
    Par Pitou5464 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 29/08/2006, 20h56
  5. problème de guillemets dans une formule shell
    Par dim_italia dans le forum VBA Access
    Réponses: 7
    Dernier message: 18/08/2003, 12h46

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