Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Nettoyage fichier .TXT issus d'un logiciel DBASE - Supprimer lignes superflues

  • Initiateur de la discussion Initiateur de la discussion chrisdemons
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

chrisdemons

Guest
Bonjour à tous et toutes,

Je ne m'y connais pas assez en VBA (et c'est assez urgent) pour écrire ce qui suit :
- rechercher le mot 'RAPPORT' dans tout le document ;
- sélectionner un bloc de lignes (ligne -1 à ligne +5) ;
- les supprimer ;
- jusqu'à ce qu'il y aie soit 2 cellules/lignes vides, soit qu'on ne trouve plus le mot 'Rapport' dans la feuille.

Il s'agit de nettoyer un fichier imprimé dans un format TXT dont nous aurions besoin afin de réaliser des recherches impossibles dans le programme (sous DOS --> plus suivi par notre fournisseur).

Merci beaucoup pour votre aide !

Christian
 
Re : Nettoyage fichier .TXT issus d'un logiciel DBASE - Supprimer lignes superflues

Bonjour à tous

chrisdemons
Sans fichier TXT à nous mettre sous la dent, comment faire des essais pour tenter de t'aider?

PS: Penses au préalable à anonymiser ce fichier TXT avant de le joindre dans ton fil.
 
Re : Nettoyage fichier .TXT issus d'un logiciel DBASE - Supprimer lignes superflues

Bonjour Staple1600.

Non seulement un bout de ce fichier TXT est indispensable pour identifier sa structure (format CSV, présence de virgules, encodage, etc.), mais je n'ai personnellement pas compris grand-chose à l'expression de ton besoin :

- sélectionner un bloc de lignes (ligne -1 à ligne +5) ;
- les supprimer ;
- jusqu'à ce qu'il y aie soit 2 cellules/lignes vides, soit qu'on ne trouve plus le mot 'Rapport' dans la feuille.

- à quoi correspond la ligne -1 ?
- il n'y a pas de cellules dans un fichier TXT, sauf lorsqu'il y a un séparateur (ex : fichier .csv)

Faut-il purger le fichier TXT en question de toutes les lignes contenant le mot "RAPPORT" ?
 
Re : Nettoyage fichier .TXT issus d'un logiciel DBASE - Supprimer lignes superflues

Bonsoir Dormeur74

En relisant le titre de la question , je suppute qu'il s'agit d'un fichier *.dbf non ?

Si c'est cela, ça tombe bien, je viens juste de mettre le nez sur une proc permettant de lire un dbf sous Excel.

Attendons donc que le demandeur se manifeste à nouveau sur XLD...
 
Re : Nettoyage fichier .TXT issus d'un logiciel DBASE - Supprimer lignes superflues

Il y a de fortes chances pour que ce soit du dbf, mais avec un peu de chance on peut tomber sur une exportation. J'ai l'oreille droite qui lit TXT et l'oeil gauche qui entend DBF 🙂

Donc, comme le pb est urgent, on se presse lentement et on attend...
Content de croiser ta route ; j'ai pas mal lu avant de me décider à devenir actif. C'est donc un honneur.
 
Re : Nettoyage fichier .TXT issus d'un logiciel DBASE - Supprimer lignes superflues

Bonjour à tous

Dormeur74:
Rien n'est urgent ici bas, sauf de poser des questions où rien n'est urgent 😉
Par contre il est urgent (ou le pour moins courtois ) que le demandeur repasse ici voir ce que devient son fil...

Mais hélas, je crois que cela ne se fera pas...

PS: Rester abonné peut permettre au fil du temps de séparer le bon grain de l'ivraie 😉
 
Re : Nettoyage fichier .TXT issus d'un logiciel DBASE - Supprimer lignes superflues

Bonjour à tous,

Merci pour vos réponses.
Désolé de venir un peu tard pour vous répondre ...

Voici en pièce jointe le fichier que j'obtiens lorsque j'"imprime" un rapport an ascii et que je voudrais traiter facilement par la suite en .xls

Attention la colonne B a été rajoutée comme index ...

Comme vous le voyez, le fichier, tel qu'il se présente, est intraitable sous cette forme.
Les premiers numéros correspondent aux numéros de factures et sont suivis des noms des clients.
En dessous, on retrouve les différents lignes d'"articles" facturés (on retrouve dans ces lignes : N°dossier/N° d'ordre de CMR /N° de ligne "article" + "article" + Intitulé des frais facturés + Qté + prix ... ).
Et enfin le total facturé.

Le but serait de nettoyer les lignes et de conserver par facture que les lignes de facturation.
Ces informations me permettent de remplir des statistiques qui doivent être transmises à l'administration.
Cela me prend un temps bête et m'empêche de réaliser le travail journalier. Vous comprendrez qu'on ne gagne rien à rentrer des statistiques ... Mais c'est obligatoire. Nous essayons de nous débrouiller comme on peut !!!

Encore merci pour votre aide.

Bien à vous.
 
Re : Nettoyage fichier .TXT issus d'un logiciel DBASE - Supprimer lignes superflues

Bonjour,

Désolé, mais pour vous expliquer, je ne travaille dans la firme qu'à mi-temps ...
Je ne saurai pas vous répondre avant lundi.
Je donnerai un lien afin de pouvoir visionner le fichier.

Explication complémentaire :
1. le fichier est en fait issu d'un programme en Dbase mais le fichier lui-même est .txt
Il s'agit d'une subtilité des programmeurs, lorsqu'on demande un rapport, lors du choix de l'imprimante, il est possible de sortir un fichier ASCII.
2. L'urgence n'existe plus étan donné que j'ai passé à peu près 3 heures à rechercher toutes les infos et les recopier car je devais rentrer les statistiques pour une date ... un peu dépassée déjà.
Actuellement je prépare le travail que je devrai terminer pour le 20 novembre (nouvelle échéance).

Merci de votre patience.

Bien à vous.
 
Re : Nettoyage fichier .TXT issus d'un logiciel DBASE - Supprimer lignes superflues

Bonjour


Ton fichier contient des données confidentielles, non ? (Des patronymes en autres)

Il faudrait que tu modifies ta pièce jointe en la remplaçant par le même fichier mais anonymisé.
 
Re : Nettoyage fichier .TXT issus d'un logiciel DBASE - Supprimer lignes superflues

Re

chrisdemons
Tu as de la chance 😉
Voici de quoi anonymiser ton fichier en moins de 10 secondes.🙄
Copie la macro ci-dessous dans ta PJ.
Puis édites ton dernier message pour remplacer l'ancienne PJ par ce fichier fraichement expurgé par la macro.
VB:
Sub AnonymiZatoR()
' Macro enregistrée le 12/11/2012 par Staple1600
Dim DERLIGNE&
DERLIGNE = Range("A65536").End(xlUp).Row
Application.ScreenUpdating = False
With Range("B2").Resize(DERLIGNE)
    .FormulaR1C1 = _
            "=IF(ISERR(SEARCH("" ??/??/??"",RC[-1])),RC[-1],TRIM(SUBSTITUTE(RC[-1],MID(RC[-1],2,SEARCH("" ??/??/??"",RC[-1])-8),TODAY()+ROW())))"
    .Value = .Value
End With
Columns("A:A").Delete Shift:=xlToLeft
End Sub

PS: Dois retourner au taf. Repasse dans la soirée.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…