Bonjour à tous ,
j'écris ce post car je n'arrive pas à résoudre mon problème, et j'éspère que vous pourrez m'aider.
Comme indiqué dans le titre , j'ai un soucis avec les accents dans les fichiers batch. J'ai trouvé une multitude de post traitant de ça sur le net, mais aucun ne correspond exactement à mon cas de figure ,de sorte que je n'arrive pas à adapter les solutions citées dans ces posts à mon problème... (il faut savoir que j'ai de piètres connaissances en vba , et que c'est encore pire en MS-DOS!!)
Alors voilà :
j'ai un fichier excel qui génère un fichier texte par macro ,et y inscrit le mot "Allégés"
J'ai ensuite un fichier batch qui lit ce fichier texte :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 num = FreeFile plop = "Allégés" Open "C:\plop.txt" For Output As #num Print #num, Spc(0); "2"; ";"; plop Close #num
malheureusement ,mon fichier batch lit : AllÚgÚs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 @echo off for /f "tokens=1,2* delims=;" %%a in (c:\plop.txt) do (echo "%%b") pause
(comme vous l'avez surement compris ,ceci est une adaptation simplifiée de mon projet.)
Apparemment ,le problème est résolu si j'ouvre mon fichier texte manuellement et le sauvegarde en document texte MS-DOS , mais mon projet n'a plus d'utilité si je dois faire cette manip moi-même ,et je suis incapable de la faire faire par macro excel
-j'ai essayé de créer manuellement une sorte de "base" de mon fichier texte ,converti en document texte MS-DOS par mes soins et de lancer ma macro ,mais dans ce cas mon fichier "perd" sa compatibilité MS-DOS
-j'ai essayé de créér mon fichier texte avec
mais le problème reste le meme , ca ne le convertit pas en Ms-DOS
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Dim fso As Object Dim dat As Object Set fso = CreateObject("Scripting.FileSystemObject") Set dat = fso.CreateTextFile("D:\plop.txt", , true)
-J'ai essayé de remplacer les accents par des virgules ou par des chr(44) avec la commande REPLACE dans ma macro ( puisque les accents sont remplacés par des virgules dans mon fichier texte après conversion en document texte MS-DOS )
mais mon fichier batch lit : All,g,s
(les virgules sont différentes en fonction du codage ,apparemment ^^')
-j'ai essayé d'ajouter la commande CHCP 1252>nul au début de mon fichier batch pour en modifier la table de code (il semblerait que les accents soient pris en compte dans la 1252),mais ça ne marche pas non plus (----> AllÚgÚs )
j'ai trouvé d'autres pistes sur le net ,mais que je ne comprend pas et donc qui me sont impossibles à adapter ,donc je les ai ignorées....
du coup je me retrouve comme un couillon avec mon problème insolvable
Vous avez une solution ?![]()
Partager