Macro traitement d'un fichier txt
kent
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
Bonjour,
J'ai fichier .txt comprenant plusieurs lignes, j'aimerais y modifier certaines données simplement et rapidement. Il me faut obtenir la valeur en gras à la place du # situé en dessous ( le # n'est pas présent dans le fichier de base)
Voici un extrait de mon fichier :
VTE;70715500;F;11406011;RUL;30/06/2014;30/07/2014;0;19.79;;;;;;;;1G000;GRULL000
VTE;44571200;F;11406011;RUL;30/06/2014;30/07/2014;0;4.19;;;;;;;76;;GRULL000
VTE;70715600;F;11406011;RUL;30/06/2014;30/07/2014;0;1.14;;;;;;;;1G000;GRULL000
VTE;70672000;F;11406011;RUL;30/06/2014;30/07/2014;0;178.50;;;;;;;;1G000;GRULL000
VTE;44571100;F;11406011;RUL;30/06/2014;30/07/2014;0;35.70;;;;;;;86;;GRULL000
VTE;GRULL000;F;11406011;RUL;30/06/2014;30/07/2014;239.32;0;;;;;;;#;;
VTE;70715500;F;11406002;SEGA;30/06/2014;30/07/2014;0;214.73;;;;;;;;1G000;GSEGA000
VTE;44571200;F;11406002;SEGA;30/06/2014;30/07/2014;0;105.33;;;;;;;76;;GSEGA000
VTE;70713000;F;11406002;SEGA;30/06/2014;30/07/2014;0;163.81;;;;;;;;1G000;GSEGA000
VTE;70672000;F;11406002;SEGA;30/06/2014;30/07/2014;0;373.83;;;;;;;;1G000;GSEGA000
VTE;44571100;F;11406002;SEGA;30/06/2014;30/07/2014;0;74.77;;;;;;;86;;GSEGA000
VTE;70715000;F;11406002;SEGA;30/06/2014;30/07/2014;0;148.11;;;;;;;;1G000;GSEGA000
VTE;GSEGA000;F;11406002;SEGA;30/06/2014;30/07/2014;1080.58;0;;;;;;;#;;
VTE;70713000;F;11406004;SEGA;30/06/2014;30/07/2014;0;19.05;;;;;;;;1G000;GSEGA000
VTE;44571200;F;11406004;SEGA;30/06/2014;30/07/2014;0;3.81;;;;;;;76;;GSEGA000
VTE;GSEGA000;F;11406004;SEGA;30/06/2014;30/07/2014;22.86;0;;;;;;;#;;
VT2;70672000;F;11406014;VA;30/06/2014;15/08/2014;0;113.60;;;;;;;;1G000;GVEZ0000
VT2;44571100;F;11406014;VA;30/06/2014;15/08/2014;0;22.72;;;;;;;86;;GVEZ0000
VT2;GVEZ0000;F;11406014;VA;30/06/2014;15/08/2014;136.32;0;;;;;;;#;;
Merci de votre aide si vous avez une solution, en espérant être assez clair.
J'ai fichier .txt comprenant plusieurs lignes, j'aimerais y modifier certaines données simplement et rapidement. Il me faut obtenir la valeur en gras à la place du # situé en dessous ( le # n'est pas présent dans le fichier de base)
Voici un extrait de mon fichier :
VTE;70715500;F;11406011;RUL;30/06/2014;30/07/2014;0;19.79;;;;;;;;1G000;GRULL000
VTE;44571200;F;11406011;RUL;30/06/2014;30/07/2014;0;4.19;;;;;;;76;;GRULL000
VTE;70715600;F;11406011;RUL;30/06/2014;30/07/2014;0;1.14;;;;;;;;1G000;GRULL000
VTE;70672000;F;11406011;RUL;30/06/2014;30/07/2014;0;178.50;;;;;;;;1G000;GRULL000
VTE;44571100;F;11406011;RUL;30/06/2014;30/07/2014;0;35.70;;;;;;;86;;GRULL000
VTE;GRULL000;F;11406011;RUL;30/06/2014;30/07/2014;239.32;0;;;;;;;#;;
VTE;70715500;F;11406002;SEGA;30/06/2014;30/07/2014;0;214.73;;;;;;;;1G000;GSEGA000
VTE;44571200;F;11406002;SEGA;30/06/2014;30/07/2014;0;105.33;;;;;;;76;;GSEGA000
VTE;70713000;F;11406002;SEGA;30/06/2014;30/07/2014;0;163.81;;;;;;;;1G000;GSEGA000
VTE;70672000;F;11406002;SEGA;30/06/2014;30/07/2014;0;373.83;;;;;;;;1G000;GSEGA000
VTE;44571100;F;11406002;SEGA;30/06/2014;30/07/2014;0;74.77;;;;;;;86;;GSEGA000
VTE;70715000;F;11406002;SEGA;30/06/2014;30/07/2014;0;148.11;;;;;;;;1G000;GSEGA000
VTE;GSEGA000;F;11406002;SEGA;30/06/2014;30/07/2014;1080.58;0;;;;;;;#;;
VTE;70713000;F;11406004;SEGA;30/06/2014;30/07/2014;0;19.05;;;;;;;;1G000;GSEGA000
VTE;44571200;F;11406004;SEGA;30/06/2014;30/07/2014;0;3.81;;;;;;;76;;GSEGA000
VTE;GSEGA000;F;11406004;SEGA;30/06/2014;30/07/2014;22.86;0;;;;;;;#;;
VT2;70672000;F;11406014;VA;30/06/2014;15/08/2014;0;113.60;;;;;;;;1G000;GVEZ0000
VT2;44571100;F;11406014;VA;30/06/2014;15/08/2014;0;22.72;;;;;;;86;;GVEZ0000
VT2;GVEZ0000;F;11406014;VA;30/06/2014;15/08/2014;136.32;0;;;;;;;#;;
Merci de votre aide si vous avez une solution, en espérant être assez clair.
A voir également:
- Macro traitement d'un fichier txt
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
2 réponses
N'étant pas bon en programmation, je pense quand même trouver un Algorithme de principe:
pour chaque ligne de 2 à x
Si le champ 2 commence par 'G'
Alors de ligne -1 à ligne -3* si champ 2 = '44571200' ou = '44571100'
------alors on attribut au champ 16 de ligne la valeur du champ 16 de ligne -1
fin
fin
en espérant que quelqu'un comprend mon raisonnement, merci d'avance.
*on ne peut avoir plus de 3 lignes
pour chaque ligne de 2 à x
Si le champ 2 commence par 'G'
Alors de ligne -1 à ligne -3* si champ 2 = '44571200' ou = '44571100'
------alors on attribut au champ 16 de ligne la valeur du champ 16 de ligne -1
fin
fin
en espérant que quelqu'un comprend mon raisonnement, merci d'avance.
*on ne peut avoir plus de 3 lignes