Bonjour à tous,
ca va faire quelques jours que je me casse les dents sur un comportement que je n'arrive pas à expliquer ni à corriger.
J'ai un traitement VBA qui consiste en la création d'un classeur dans lequel je copie des données, et dont j'enregistre le tout au format CSV, avec des séparateurs ;.
La syntaxe de la ligne étant
L'enjeu que j'ai actuellement est que lorsque je lance le code complet, l'enregistrement final se déroule parfaitement, et je me retrouve bien avec mon fichier csv rempli comme attendu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 wbk.SAveAs strCompletePath, FileFormat:=xlCSV, CreateBackup:=False, Local:=True wbk.Close False
Mon soucis est lorsque j'exécute le code en l'appelant depuis un batch (je sais que le code d'appel est bon, j'ai des tutos pour le prouver), je me retrouve en bout de ligne avec 2 fichiers : un fichier csv avec le nom attendu, mais au contenu vide ET un autre fichier avec une extension .tmp qui contient les données attendues.
Je penche pour un supposé problème de droit de lancement, mais comme le soucis n'est pas aléatoire, constant, et peu importe le nom de la feuille ou du csv, j'imagine que le soucis est dans les paramètres régionaux qui sont inclus dans l'environnement cmd (le local:=True vient jouer un rôle).
Il me reste bien sûr la possibilité de casser le stoique saveAs et recoder à la main les séparateurs à coups de Join, mais j'aimerai avoir votre avis avant de me lancer dans cette track.
Merci !
Partager