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 :

Format CSV:problème lors de l'enregistrement [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Janvier 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur mécanique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Format CSV:problème lors de l'enregistrement
    Bonjour,
    J'ai crée une macro en VBA afin de créer toute une sorte de combinaison possible en fonction de paramètres rentrés par le biais d'un userform.

    Pour une utilisation future de certaines données, je dois les enregistrer sous Format CSV. Dans ce fichier CSV je dois avoir une syntaxe particulière que voici :

    Point,"Paramètre1","Paramètre2,"Paramètre3"
    1,25,50
    2,35,50
    3,40,50
    4,25,55
    ...

    Pour plus de compréhension, la première colonne correspond au numéro de la combinaison et ensuite ce sont les valeurs de chaque paramètre

    Pour obtenir ce fichier CSV, j'ai donc une feuille Excel dans laquelle je rentre les noms de mes paramètres et que je sauvegarde sous format CSV.
    Voici le code utilisé appliquer le nom d'un paramètre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Table OPTIM").Range(Chr(b) & "1").Value = Chr(34) & variable & Chr(34)
    La valeur b évolue dans une boucle afin d'incrémenter les colonnes.
    Si besoin, je peux vous communiquer la boucle entière mais cela prenait un peu de place.

    Quant à la chaîne de caractères, j'ai donc ajouté Chr(34) afin d'avoir mes guillemets autour du nom du paramètre.
    Cependant, après enregistrement, je me suis rendu compte que EXCEL ajoute encore des guillemets autour des guillemets ce qui me donne des doubles guillemets :s
    Voici le résultat :
    Point,"""Alpha1""","""Gamma2"""

    Quelqu'un saurait comment faire pour n'avoir que de simples guillemets ?
    Ou devrais-je enregistrer sans guillemets et faire un post-traitement ?

    De plus, voici mon code pour enregistrer mon fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(FichierCible).SaveAs Filename:=path & "\" & nomfichier, FileFormat:=xlCSV
    Peut-être que l'erreur vient de là.

    Merci d'avance pour votre aide

    Badour

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Bonjour,
    J'ai peut-être pas bien compris mais il n'y a pas de guillement dans un fichier CSV, sauf si ont le déclare comme séparateur et à ce moment là ce devrait être une suite tel que
    "12,2"13,3"15,12"
    Mais je ne crois pas que toute les appli prennent les guillement comme séparateur, vaudrait mieux les remplacer par la virgue ou deux point.
    Et ces données doivent probablement être lue par une autre application, au quel cas la virgule devrait être remplacée par un point (pour les décimale).
    A+

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Janvier 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur mécanique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    en fait les guillemets ne sont pas le séparateur, c'est bien la virgule.
    Mon problème est que dans ma feuille EXCEL, je mets dans les cellules les noms de mes paramètres. Dans ma macro, j'insère également les guillemets car si je veux que mon autre logiciel puisse lire ce fichier CSV, il faut que les noms des paramètres soient entre guillemets.

    donc j'obtiens une ligne de cellule (la première ligne en fait) avec Point "Paramètre 1" "Paramètre2" ... (l'espace représente le passage d'une cellule à une autre)

    par contre quand je l'enregistre sous format CSV, toujours avec ma macro, et qu'ensuite j'ouvre le fichier obtenu, les noms de mes paramètres sont entre double guillemets, comme ceci Point,""Paramètre1"",""Paramètre2""

    Donc mon problème est que je ne comprends pas pourquoi lors de l'enregistrement, EXCEL me rajoute des guillemets autour des guillemets.

    Bonne journée
    ++

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Bon, je comprend pas bien mais il y a moyen d'enlever facilement tes double guillemets avec la fonction VBA Replace, voir l'aide.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Janvier 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur mécanique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    D'accord, je vais essayer de voir ça, merci de ton aide

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/05/2010, 18h11
  2. Réponses: 7
    Dernier message: 01/01/2009, 01h53
  3. Problème lors de l'enregistrement du classeur
    Par moilou2 dans le forum Excel
    Réponses: 3
    Dernier message: 07/10/2008, 15h14
  4. Réponses: 2
    Dernier message: 01/07/2008, 18h07

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