Suppression de caractère dans un fichier texte

Résolu/Fermé
kent - Modifié par kent le 13/03/2014 à 08:30
 kent - 14 mars 2014 à 11:12
Bonjour, j'ai un fichier .txt ci dessous (servant à un import par la suite):

http://cjoint.com/?0CmrES6Qo4E

En voici un extrait :

VTE;44571100;F;1201401003;27/01/2014;27/01/2014;0;102.00;;;;;;;;
VTE;707155;F;1201401003;27/01/2014;27/01/2014;0;250.00;;;;;;;;1G000

J'aimerais savoir comment supprimer le 20 en gras et souligné pour chaque ligne sachant que mon fichier entier contient environ 100 lignes.

Merci d'avance car la je bloque.

De plus j'aimerais pouvoir indiquer a chaque lancement du programme le nom du fichier .txt a traité qui se situe dans le même répertoire que le programme.
A voir également:

2 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
13 mars 2014 à 08:22
Bonjour
en premier approche, une solution simple, mais qui ne fonctionne que si le N° avant le F ne contient pas la valeur 20
=SUBSTITUE(A1;20;"";1)

sinon essayez celle ci à condition que le code commence toujours par VTE;

=GAUCHE(A2;4)&SUBSTITUE(DROITE(A2;NBCAR(A2)-TROUVE(";";A2;1));20;"";1)

crdlmnt
0
ta solution me conviendrais mais j'aimerais ne pas avoir recours à excel. si possible
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
13 mars 2014 à 13:37
si possible, pourquoi pas? mais ça n'est pas dans mes compétences.
désolé
Bonne chance
crdlmnt
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
Modifié par eriiic le 13/03/2014 à 16:08
Bonjour à tous,

tu as quoi contre excel ?

Tu peux même choisir plusieurs fichiers à traiter en les sélectionnant avec les touches Shift et/ou Ctrl dans la boite de dialogue :
https://www.cjoint.com/?DCnqgdh2Xpi
Je remplace: ";F;120" par: ";F;1" comme apparemment on retrouve toujours cette chaine.
Comme tu ne parlais pas de renommer, j'écrase le fichier original. Travaille sur des copies.

eric


En plus du merci (si si, ça se fait !!!), penser à mettre en résolu lorsque c'est le cas (en haut vers votre titre).
Merci
0
Alors la, je dis félicitation Eric, je pense que je vais me mettre a travailler sous excel. Merci beaucoup
0
De plus si possible,
1/ j'aimerais bien avoir pour quand la valeur du deuxième champs = (GVEZ0000; GVEZOS00; GVEZOS01; GVEZOSE0) que le premier champs prenne la valeur VT2 au lieu de VTE.
2/ Et par la suite quand le premier = VT2 tous les quatrième champs qui y son égal prenne aussi la valeur de VT2. exemple ci dessous pour expliquer ma demande :
.
fichier d'origine :
VTE;70672000;F;1201401001;;10/01/2014;15/03/2014;0;251.43;;;;;;;;1G000
VTE;44571100;F;1201401001;;10/01/2014;15/03/2014;0;50.29;;;;;;;;
VTE;70715500;F;1201401001;;10/01/2014;15/03/2014;0;469.55;;;;;;;;1G000
VTE;44571200;F;1201401001;;10/01/2014;15/03/2014;0;93.91;;;;;;;;
VTE;GVEZ0000;F;1201401001;;10/01/2014;15/03/2014;865.18;0;;;;;;;;
VTE;70715500;F;1201401003;NOREA;27/01/2014;27/01/2014;293.31;0;;;;;;;;1G000
VTE;44571200;F;1201401003;NOREA;27/01/2014;27/01/2014;8.66;0;;;;;;;;
VTE;70672000;F;1201401003;NOREA;27/01/2014;27/01/2014;0;510.00;;;;;;;;1G000
VTE;44571100;F;1201401003;NOREA;27/01/2014;27/01/2014;0;102.00;;;;;;;;
VTE;707155;F;1201401003;NOREA;27/01/2014;27/01/2014;0;250.00;;;;;;;;1G000
VTE;GDIVE000;F;1201401003;NOREA;27/01/2014;27/01/2014;560.03;0;;;;;;;;
VTE;70715500;F;1201401002;;27/01/2014;15/03/2014;0;445.60;;;;;;;;1G000
VTE;44571200;F;1201401002;;27/01/2014;15/03/2014;0;89.12;;;;;;;;
VTE;70672000;F;1201401002;;27/01/2014;15/03/2014;0;267.75;;;;;;;;1G000
VTE;44571100;F;1201401002;;27/01/2014;15/03/2014;0;53.55;;;;;;;;
VTE;GVEZ0000;F;1201401002;;27/01/2014;15/03/2014;856.02;0;;;;;;;;
.
1/
Fichier en cours :
VTE;70672000;F;11401001;;10/01/2014;15/03/2014;0;251.43;;;;;;;;1G000
VTE;44571100;F;11401001;;10/01/2014;15/03/2014;0;50.29;;;;;;;;
VTE;70715500;F;11401001;;10/01/2014;15/03/2014;0;469.55;;;;;;;;1G000
VTE;44571200;F;11401001;;10/01/2014;15/03/2014;0;93.91;;;;;;;;
VT2;GVEZ0000;F;11401001;;10/01/2014;15/03/2014;865.18;0;;;;;;;;
VTE;70715500;F;11401003;NOREA;27/01/2014;27/01/2014;293.31;0;;;;;;;;1G000
VTE;44571200;F;11401003;NOREA;27/01/2014;27/01/2014;8.66;0;;;;;;;;
VTE;70672000;F;11401003;NOREA;27/01/2014;27/01/2014;0;510.00;;;;;;;;1G000
VTE;44571100;F;11401003;NOREA;27/01/2014;27/01/2014;0;102.00;;;;;;;;
VTE;707155;F;11401003;NOREA;27/01/2014;27/01/2014;0;250.00;;;;;;;;1G000
VTE;GDIVE000;F;11401003;NOREA;27/01/2014;27/01/2014;560.03;0;;;;;;;;
VTE;70715500;F;11401002;;27/01/2014;15/03/2014;0;445.60;;;;;;;;1G000
VTE;44571200;F;11401002;;27/01/2014;15/03/2014;0;89.12;;;;;;;;
VTE;70672000;F;11401002;;27/01/2014;15/03/2014;0;267.75;;;;;;;;1G000
VTE;44571100;F;11401002;;27/01/2014;15/03/2014;0;53.55;;;;;;;;
VT2;GVEZ0000;F;11401002;;27/01/2014;15/03/2014;856.02;0;;;;;;;;
.
2/
Fichier final :
VT2;70672000;F;11401001;;10/01/2014;15/03/2014;0;251.43;;;;;;;;1G000
VT2;44571100;F;11401001;;10/01/2014;15/03/2014;0;50.29;;;;;;;;
VT2;70715500;F;11401001;;10/01/2014;15/03/2014;0;469.55;;;;;;;;1G000
VT2;44571200;F;11401001;;10/01/2014;15/03/2014;0;93.91;;;;;;;;
VT2;GVEZ0000;F;11401001;;10/01/2014;15/03/2014;865.18;0;;;;;;;;
VTE;70715500;F;11401003;NOREA;27/01/2014;27/01/2014;293.31;0;;;;;;;;1G000
VTE;44571200;F;11401003;NOREA;27/01/2014;27/01/2014;8.66;0;;;;;;;;
VTE;70672000;F;11401003;NOREA;27/01/2014;27/01/2014;0;510.00;;;;;;;;1G000
VTE;44571100;F;11401003;NOREA;27/01/2014;27/01/2014;0;102.00;;;;;;;;
VTE;707155;F;11401003;NOREA;27/01/2014;27/01/2014;0;250.00;;;;;;;;1G000
VTE;GDIVE000;F;11401003;NOREA;27/01/2014;27/01/2014;560.03;0;;;;;;;;
VT2;70715500;F;11401002;;27/01/2014;15/03/2014;0;445.60;;;;;;;;1G000
VT2;44571200;F;11401002;;27/01/2014;15/03/2014;0;89.12;;;;;;;;
VT2;70672000;F;11401002;;27/01/2014;15/03/2014;0;267.75;;;;;;;;1G000
VT2;44571100;F;11401002;;27/01/2014;15/03/2014;0;53.55;;;;;;;;
VT2;GVEZ0000;F;11401002;;27/01/2014;15/03/2014;856.02;0;;;;;;;;


en espérant être assez précis,

Cordialement
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
13 mars 2014 à 17:42
1)
- 1a) pour simplifier peut-on élargir à tous les GVEZxxxx, ou y-a-t'il des GVEZxxxx non concernés et il faut se restreindre à cette liste de 4 GVEZxxxx ?
- 1b) on est bien d'accord que le "O" et "0" derrière le Z ne sont pas des erreurs de frappe ?

2) J'ai eu un peu de mal à comprendre, je pense y être arrivé....
Plus complexe car oblige à charger tout le fichier en mémoire pour travailler sur les lignes précédentes. Ca sera sans doute demain.
- 2a) les lignes à modifier en VT2 sont toutes groupées ou il faut rechercher l'équivalence du champ 4 sur tout le fichier ?
- 2b) dans ton exemple elles précèdent toutes le VT2. S'il y en a après faut-il les modifier aussi ?

eric
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
Modifié par eriiic le 13/03/2014 à 18:44
- 2c) peut-il y avoir des VT2 dans le fichier original sur lesquels il faut appliquer la règle 2 ?
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
13 mars 2014 à 20:05
en attendant, à tester :
https://www.cjoint.com/?DCnueL9oo9N
On complètera selon les réponses

eric
0