Suppression de caractère dans un fichier texte
Résolu
kent
-
kent -
kent -
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.
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:
- Suppression de caractère dans un fichier texte
- Forcer la suppression d'un fichier - Guide
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Caractère ascii - Guide
2 réponses
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
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
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
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
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
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
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
- 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
désolé
Bonne chance
crdlmnt