Exporter un fichier csv puis renommer en txt

Bonjour,

Je sèche sur une opération qui semble toute bête mais je n'arrive pas au résultat désiré.

J'ai un fichier excel que je modifie. En cliquant sur un bouton ControleActiveX, un code vba enregistre le contenu de mon onglet en .csv dans un dossier particulier

Ensuite par un fichier batch je renomme le fichier csv en question en .txt.

ActiveWorkbook.SaveAs Filename:= _ "C:\Program Files (x86)\StartGridOverlay\GridOrderDriverDetails.csv", FileFormat:=xlCSV _ , CreateBackup:=False

Cela fonctionne mais les séparateurs sont les "," et pas les ";" .

Lorsque je fais manuellement l'opération de renommage du fichier exporté en csv sans passer par le fichier batch, j'ai bien les ";"

Avez vous une idée pour tout faire d'emblée en passant par vba ?

Merci tout plein par avance,

Bonjour Dadou5821,

As-tu essayé d'indiquer directement l'extension .txt dans le VBA sans changer le reste ?

ActiveWorkbook.SaveAs Filename:= _ "C:\Program Files (x86)\StartGridOverlay\GridOrderDriverDetails.txt", FileFormat:=xlCSV _ , CreateBackup:=False

Bonjour à tous,

En plus de l'extension txt indiquée par Gérard, on peut ajouter Local:=True pour avoir les ;

ActiveWorkbook.SaveAs Filename:= _ 
"C:\Program Files (x86)\StartGridOverlay\GridOrderDriverDetails.txt", FileFormat:=xlCSV, _ 
CreateBackup:=False, Local:=True

Pierre

L'export en txt fonctionne parfaitement.

Néanmoins dans le fichier txt j'ai toujours des , à la place des ;

Le Local:=True permet de pointer sur le réglage par défaut des séparateurs.

Mais il faut vérifier que l'option "Utiliser les séparateurs système" est bien cochée (dans option avancées/option d'édition) avec la virgule comme séparateur décimal (ce qui force le ; comme séparateur de champ)

Rechercher des sujets similaires à "exporter fichier csv puis renommer txt"