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 :

Export csv Local:=True ne marche pas


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 201
    Par défaut Export csv Local:=True ne marche pas
    Bonjour,

    J'ai quelques soucis à exporter ma feuille excel en csv malgré l'aide des internautes. Pour ne pas avoir de "," à la place de ";" dans le fichier csv, le paramètre Local:=True est censé régler ce problème. Aucun succés chez moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    FinalWorkbook.SaveAs Filename:= _
            "C:\SortieCastor\RPFOND-" & ParamFond & ".csv", FileFormat _
            :=xlCSV, CreateBackup:=False, Local:=True
    Ce que je souhaite faire c'est juste exporter dans un fichier texte mes colonnes espacé d'un caractère " ". Néanmoins en testant tous les formats je n'obtiens pas ce que je souhaite (soit des tabulation soit des virgules..). Ma solution a donc était d'exporter en csv avec des ";" et de les remplacer par " " avec Remplacer Tout... Mais en automatique sous une macro, le ";" se transforme en ",".

    Si quelqu'un a une sollution.. Merci d'avance.

    Laurent

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 242
    Par défaut
    Bonjour,

    As-tu essayé le SaveAs avec ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 201
    Par défaut
    Oui. J'obtiens également que des ","....

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 242
    Par défaut
    Bon, ben sinon tu peux créer toi même ton fichier csv et ainsi mettre ce que tu veux comme séparateur
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim Tableau, ligne As String, i As Long, j As Long, f As Integer
    'A modifier en fonction du séparateur voulu :
    Const strSéparateur As String = ";"
    f = FreeFile
    Tableau = FinalWorkbook.Worksheets(1).UsedRange
    Open "C:\SortieCastor\RPFOND-" & ParamFond & ".csv" For Output As #f
    For i = LBound(Tableau, 1) To UBound(Tableau, 1)
        ligne = Tableau(i, LBound(Tableau, 2))
        For j = LBound(Tableau, 2) + 1 To UBound(Tableau, 2)
            ligne = ligne & strSéparateur & Tableau(i, j)
        Next
        Print #f, ligne
    Next
    Close f
    Dans cet exemple, si le fichier existe déjà, il faut rajouter du code pour le supprimer avant de pouvoir le recréer.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 201
    Par défaut
    Ecoute moi! C'est parfait! Merci bien pour ce bout de code que je garderai dans un coin!

    A+

    Laurent

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 11
    Par défaut
    Bonjour,

    Pareil j'ai tout essayé pour enregistrer en CSV

    J'ai vérifié les paramètre régionaux de Windows j'avais bien le ;
    quand j'enregistre dans excel manuellement j'ai aussi le point virgule mais quand je passe par la macro impossible j'ai pourtant rajouter le Local:=True j'avais vu sur d'autre forum de rajouter savechanges:=False mais rien à faire
    avec xlCSV, xlCSVMSDOS et xlCSVWindows même résultats

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ActiveSheet.SaveAs Filename:="C:\Users\blabla\Documents\test-" + date_du_jour + "-01.csv", FileFormat:=xlCSVMSDOS, CreateBackup:=True, Local:=True
    ActiveSheet.Parent.Close savechanges:=False
    Merci à zenpbb pour sa solution bien que j'aimerai bien avoir le fin mot de l'histoire

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

Discussions similaires

  1. export access à excel qui ne marche pas comme souhaité?
    Par kesamba dans le forum VBA Access
    Réponses: 15
    Dernier message: 14/03/2011, 07h54
  2. Réponses: 8
    Dernier message: 23/06/2007, 10h38
  3. [EasyPHP] fonction mail marche pas en local
    Par sitalgerie dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 02/04/2007, 20h01
  4. [MySQL] requête upload qui ne marche pas en local
    Par stuef dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/03/2006, 17h32
  5. Redirection 404 marche pas en local
    Par le mage tophinus dans le forum Apache
    Réponses: 8
    Dernier message: 10/06/2005, 08h12

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