Comment modifier une virgule par point virgule via VBA

mamined Messages postés 35 Date d'inscription   Statut Membre Dernière intervention   -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour le Forum,

voila, j'ai bâti une moulinette afin de corriger diverses choses dans un fichier csv.
Une fois les corrections faites et le fichier enregistré, ce dernier n'a plus la séparation ";" mais hérite de la séparation "," ce qui fait qu'il est rejeté lors de l'import automatique dans une autre application durant la nuit.

Je souhaite donc savoir comment je peux faire pour l'ouvrir Avec NOTEPAD (ça c'est ok), puis remplacer toutes les "," par ";" puis enregistrer et fermer.

Actuellement j'arrive à l'ouvrir Avec NOTEPAD mais ensuite je suis bloqué et ne sais pas comment définir ce qui doit l'être pour la correction puis l'enregistrement.

Par Avance merci pour votre Aide

Dim s As Variant
Dim i As Integer


s = Shell("C:\Windows\System32\NOTEPAD.EXE \\hxc\swii\est\Da\123456_ifi.csv")
A voir également:

4 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Pour pouvoir faire cela il faut lire le fichier et le mettre dans une colonne d'Excel avant:

http://www.gcexcel.com/vba-lire-fichier-texte/

Voilà
0
mamined Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
Hello cs_Le Pivert,

merci pour ces inforamtions. En fait à la base j'ai déjà un fichier csv et ce dernier doit rester tel qu'il est et Avec le nom qu'il a pour qu'il puisse être automatiquement repri durant la nuit par une autre application.

En fait j'avais lu sur d'autres discussions qu'il était possible d'ouvrir le fichier csv Avec bloc notes et d'y effectuer ce remplacement.

Mon problème est que j'arrive à l'ouvrir, mais enseuite il me manque le bout de code qui me permet de remplacer toutes les "," par des ";" et enregistrer puis fermer le fichier :-)

mamined
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Tu peux travailler directement sur ton fichier csv.
Tu fais une boucle sur toutes tes lignes en utilisant la méthode Replace:

https://excel.developpez.com/actu/47690/Boucles-pour-parcourir-une-colonne-une-ligne-une-plage-de-donnees-deux-nouvelles-methodes/
0
mamined Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
Hello cs_le_Pivert,

merci pour cette nouvelle réponse. Malheureusement, si je le fais dans csv j'hérite d'un autre problème:-)
C'estqu'une fois la"," transformé en ";" le fichier enregistré, si j'ouvre je me retrouve Avec les guillemets devant et derrière ce qui est aussi bloquant.

Du coup c'est la Raison pour laquelle la solution bloc notes me serait plus simple :)
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
0