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 :

[VBA-E]Enregistrement csv séparateur:";"


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif Avatar de Yolak
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 341
    Points : 206
    Points
    206
    Par défaut [VBA-E]Enregistrement csv séparateur:";"
    Bonjour à tous!

    J'ai un petit problème pas bien compliqué en soit:
    Je voudrais enregistrer automatiquement une feuille Excel existante en format *.csv avec un point virgule comme séparateur.

    J'utilise la fonction FileFormat avec le paramètre xlFileFormat suivant : xlCSV

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.SaveAs Filename:="mon_fichier_csv_pt_virgule", FileFormat:=xlCSV
    Le problème, c'est que le séparateur est une virgule!

    J'ai essayé plusieurs paramètre xlFileFormat (xlCSVwindows, xlCSVMSDOS) mais rien n'y fait, c'est toujours une virgule comme séparateur

    Je pourrais m'amuser a remplacer automatiquement toute les virgules par des point virgule par un code qui ressemblerait à une usine a gaz mais je préfèrerais quelque chose de plus logique.

    J'ai déjà cherché sur le forum et dans les tutoriels mais je ne suis pas satisfait de mes trouvailles...

    Merci à vous!
    Épargnez votre cerveau : éteignez votre télé !

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Si tu as la version anglaise d'Excel, le séparateur de données est une virgule, c'est normal.
    Le point-virgule, c'est dans la version française.
    Par contre, tu peux essayer de l'enregistrer en txt, tu auras une tabulation comme séparateur de données.
    Quelles contraintes as-tu ?
    On peut parfaitement ouvrir un csv avec "," comme séparateur si on l'ouvre en tant que txt.
    Ouvert en tant que txt, il est possible de préciser le séparateur.
    Tu dis
    A+

  3. #3
    Membre actif Avatar de Yolak
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 341
    Points : 206
    Points
    206
    Par défaut
    Bonjour!!

    On peut parfaitement ouvrir un csv avec "," comme séparateur si on l'ouvre en tant que txt.
    Mes contraintes:
    Mon fichier DOIT impérativement être enregistré automatiquement en csv avec séparateur ";" parce qu'ensuite, je dois l'intégrer dans un logiciel de GPAO qui n'accepte QUE le cvs séparateur ";"

    Ouvert en tant que txt, il est possible de préciser le séparateur.
    Comment procéder?

    Je rappelle que la macro sera utilisée par des gens qui ne savent même pas ce qu'est qu'un fichier csv...
    En gros, la macro doit tout faire en auto!

    Merci encore pour votre aide !!!
    Épargnez votre cerveau : éteignez votre télé !

  4. #4
    Membre éprouvé
    Avatar de ouisansdoute
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    931
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 931
    Points : 1 079
    Points
    1 079
    Par défaut Changer le séparateur csv
    Bonjour,

    Pour changer le séparateur utilisé par le csv :
    Aller dans le panneau de configuration
    Options régionales et linguistiques
    Personnaliser
    Dans la zone séparateur de liste, remplacer , par ;

  5. #5
    Membre actif Avatar de Yolak
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 341
    Points : 206
    Points
    206
    Par défaut
    Bonjour,

    Pour changer le séparateur utilisé par le csv :
    Aller dans le panneau de configuration
    Options régionales et linguistiques
    Personnaliser
    Dans la zone séparateur de liste, remplacer , par ;
    Il faudrait que je fasse ça pour une dizaine de poste séparés de plusieurs centaines de km.
    Je pourrais utiliser VNC mais j'ai trouvé mieux:
    http://www.developpez.net/forums/sho...=xlTextWindows

    Merci asxasx !!!!!
    Merci a vous tous !!!

    Mon pb est donc résolu!
    Épargnez votre cerveau : éteignez votre télé !

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    hello,

    Saveas à une option qui se nomme local, par défaut cette option est à false et utilise le système américain c'est a dire la ',' comme séparateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlBook.SaveAs path_csv, FileFormat:=xlCSV,  Local:=True
    si tu la met à true tu utilisera comme séparateur celui de tes paramètres régionaux.

    Bonne journée.
    F.Lecamp

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Gérant
    Inscrit en
    Janvier 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Gérant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Enregistrement CSV avec le séparateur local (en france) ";"
    Bonjour, il suffit de rajouter : "Local:=True" à la fin de la ligne et vérifier que nous avons bien les ";" comme séparateur dans les paramètres régionaux de Windows.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.SaveAs Filename:="mon_fichier_csv_pt_virgule", FileFormat:=xlCSV, Local:=True
    C'est tout !

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2020
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour

    j'ai trouvé une solution sans devoir aller changer le séparateur de liste du système

    Pour cela j'écris directement le ";" dans le texte.
    Ensuite je sauvegarde le fichier au format Texte

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim Newbook as workbook
    Dim chemin as string
    dim var (1 to 2) as integer
    dim Texte as variant
     
    Set Newbook = Workbooks.Add
    chemin = le nom du fichier de sortie avec le répertoire
    var(1) = 12
    var(2) = 25555
    Cells(1,1) = "-1;3"
    Texte = var(1) &";" & var(2)
    Cells(1,2) = Texte
    Newbook.SaveAs Filename:=chemin, FileFormat:=xlCSV, local:=False, CreateBackup:=False, ConflictResolution:=xlLocalSessionChanges

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

Discussions similaires

  1. [XL-2000] enregistrer csv séparateur ;
    Par przvl dans le forum Excel
    Réponses: 3
    Dernier message: 23/03/2010, 20h04
  2. [VBA-E] Création Fichier csv (séparateur Virgule)
    Par dev_php51 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/07/2008, 11h39
  3. Sauvegarde csv problème de quote
    Par BenoitM dans le forum Excel
    Réponses: 2
    Dernier message: 10/07/2007, 00h07
  4. [VBA Excel] ouverture CSV (séparateur , ou ;)
    Par SDE10 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/07/2006, 19h32
  5. [VBA-E] enregistrement csv
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 29
    Dernier message: 05/06/2006, 09h19

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