Enregistrement en .txt / .csv avec séparateur ; via VB

fdlb

XLDnaute Nouveau
Bonjour à tous,

je cherche à enregistrer un fichier excel en .csv ou .txt avec séparateur ";"
lorsque je crée le fichier par macro, le fichier se génère correctement avec le bon séparateur,

en revanche, lorsque je relance la macro via un bouton faisant appel à cette macro, le fichier se génère avec le séparateur "," ce qui rend mon fichier inexploitable par notre gestion commerciale.

Merci d'avance à ceux qui aurait une solution à me proposer

bonne journée

François
 
Dernière édition:

Zon

XLDnaute Impliqué
Re : Enregistrement en .txt / .csv avec séparateur ; via VB

salut,

à ces séparateurs ils nous pourrissent ....


VBA est en anglais et le zindows en français ..

il faudrait ton code voire un fichier exemple ,

est ce que tu utlises la méthode saveas ou print# ...?


A+++
 

MJ13

XLDnaute Barbatruc
Re : Enregistrement en .txt / .csv avec séparateur ; via VB

Bonjoru Fdlb, Zon

Tu peux essayer d'enregistrer le fichier au format csv avec cette macro:

Code:
Sub EnregistreTxtSéparateurPointVirgule()
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Test\TestEnregistre.csv", FileFormat:=xlCSVMSDOS, _
        CreateBackup:=False
   End Sub

Et l'ouvrir avec ce type de macro.

Code:
Sub Ouvre_CSV()
    Workbooks.OpenText Filename:="C:\Test\TestEnregistre.csv" _
        , Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
        Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
        Array(2, 1), Array(3, 1)), TrailingMinusNumbers:=True
End Sub
 

fdlb

XLDnaute Nouveau
Re : Enregistrement en .txt / .csv avec séparateur ; via VB

Merci pour vos réponses, mais ça ne fonctionne pas plus,

J'ai essayé par un autre biais en générant dans ma feuille excel le résultat par concatenation de toutes mes zones séparées par un ";", puis en enregistrant en format texte, mais là je suis confronté à un autre pb

soit je l'enregistre en TXT MSDOS, et le programme rajoute des guillements en début et fin de ligne (ce qui rends le fichier inexploitable par la gestion commerciale), soit je l'enregistre en format TXT avec tabulation, mais là le programme supprime toute une partie des données car apparemment il y a une limite en terme de nb de caractères par ligne

si vous avez une idée, je suis toujours preneur

merci en tout cas pour le temps que vous avez consacré à me répondre

bonne journée

François
 

Efgé

XLDnaute Barbatruc
Re : Enregistrement en .txt / .csv avec séparateur ; via VB

Bonjour fdlb ,Zon, Bonjour MJ13 :) ,
Sans fichier exemple, nous risquons de tourner en rond un bon moment...
Une proposition qui exeporte la feuille du classeur en csv dans le même répertoire que le classeur source (il faut danc enregistrer le classeur avantde lancer la macro)
Le code est commenté.
Cordialement
 

Pièces jointes

  • Créer_CSV.xls
    34 KB · Affichages: 32

Discussions similaires

Statistiques des forums

Discussions
313 866
Messages
2 103 087
Membres
108 521
dernier inscrit
manouba