[déplacé VB6 -> VBA] Modifier données dans fichier .txt

julienLDN Messages postés 4 Date d'inscription lundi 5 octobre 2009 Statut Membre Dernière intervention 7 octobre 2009 - 5 oct. 2009 à 22:59
julienLDN Messages postés 4 Date d'inscription lundi 5 octobre 2009 Statut Membre Dernière intervention 7 octobre 2009 - 7 oct. 2009 à 17:54
Bonjour,

J essaie de construire une macro me permettant d exporter certaines donnees dans un nouveau fichier, de le sauvegarder en .CSV, et ensuite de sauvegarder ce fichier en .txt.
But : le seul format accepte par le logiciel de l entreprise est .txt avec ";" comme separateur de listes.

Mon probleme est que le separateur par defaut est "," meme apres avoir modifie les options regionales et linguistiques. De plus, je ne peux changer ces parametres par defaut car cela fait bugger certains autres de mes fichiers .

J aimerais donc savoir s il est possible de faire dans un fichier .txt une sorte de :

Range(Selection, Selection.End(xlDown)).Select

Selection.Replace What:=",", Replacement:=";", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False


Enfin, sauriez vous pourquoi j obtiens une quinzaine de "," a la fin de ma serie de donnee lorsque j ouvre mon fichier en .txt ?

Merci d avance pour votre aide.

Julien

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
7 oct. 2009 à 15:05
Salut
Le séparateur par défaut d'un CSV est ;
Il te suffit de faire un "enregistrer sous" en CSV puis de renommer le fichier en TXT
Si tu ne dois sauver qu'une partie de ta feuille, il te suffit de créer un nouveau classeur dans lequel tu copie-collera les données, et sur lequel tu feras ta sauvegarde en CSV.
ActiveWorkbook.SaveAs Filename:="C:\Classeur1.csv", _
                      FileFormat:=xlCSV, _
                      CreateBackup:=False

Tu dois même pouvoir changer l'extension du nom du fichier dans cette commande, ça t'évitera le rename.

Si tu as une suite de séparateurs une même ligne, c'est que tu dois vouloir sauver une ligne vierge = aucune donnée entre les séparateurs.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
julienLDN Messages postés 4 Date d'inscription lundi 5 octobre 2009 Statut Membre Dernière intervention 7 octobre 2009
7 oct. 2009 à 17:54
Bonjour,

J avais deja enregistre en .csv et cree une copie en .txt, neanmoins, etant que mes parametres par defaut soont anglais, le separateur est "," c est pourquoi je cherche a l aide d une macro a faire une sorte de select all et de remplacer (ctrl+h) les "," par des ";".
Est ce que tu sais s il est possible de modifier un fichier .txt dans une macro sans avoir a l ouvrir ?

Sinon concernant la suite de separateur, je ne copie qu une selection sur une autre feuille, que j exporte ensuite em .csv et en.txt .


N'hesite pas si tu as des info la dessus,

Merci bcp

Julien
0
Rejoignez-nous