Accueil > > > SUPPRIMER LA LIGNE NUMERO N D'UN FICHIER TEXTE .TXT
SUPPRIMER LA LIGNE NUMERO N D'UN FICHIER TEXTE .TXT
Information sur la source
Description
Ce code supprime la ligne désirée d'un fichier texte. Le principe >Création d'un fichier texte temporaire vide dans le même répertoire que le fichier cible >Ouverture du fichier cible >Ouverture du fichier temporaire de destination >Lecture ligne par ligne du fichier source >écriture de toutes les lignes lues sauf celle précisée dans le fichier de destination >fermeture des fichiers >Supression du fichier cible >renommage du fichier de destination avec le nom du fichier cible J'utilise 2 fonctions complémentaires > La première propose un chemin complet ("aborescence de répertoire + nomfichier") pour le fichier .txt temporaire à partir du chemin complet du fichier .txt cible > La seconde compte le nombre de ligne du fichier cible, ce qui permet à l'utilisateur de supprimer "réellement" une ligne
Source
- Function Chemin_nouveau_fichier(Chemin_complet As String)
- Dim TEMP As String
- Dim NbOC As Integer
- Dim compteur as integer
-
- 'compte le nombre de caractère dans une chaîne
- NbOC = (Len(Chemin_complet) - Len(Replace(Chemin_complet, "\", "", , , 1))) / Len("\")
- TEMP = Chemin_complet
- For compteur = 1 To NbOC
- TEMP = Mid(TEMP, InStr(1, TEMP, "\") + 1)
- Next
- Chemin_nouveau_fichier = Left(Chemin_complet, Len(Chemin_complet) - Len(TEMP) - 1) & "\TEMP_" & TEMP
- End Function
-
- '///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- Function compte_ligne(Chemin_complet As String)
- On Error GoTo ANNULER 'pour traiter(sommairement)
- 'les erreurs
- Open Chemin_complet For Input As #1
- While Not EOF(1)
- Line Input #1, texte
- NbLignes = NbLignes + 1
- Wend
- Close #1
- compte_ligne = NbLignes
- ANNULER:
- End Function
-
- '///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
- Sub suppr_ligne_TXT()
-
- Dim text As String
- Dim tmp As String
- Dim N°ligne As Variant
- Dim nbre_ligne_fichier As Integer
-
- Dim CHEMIN_COMPLET_TXT As String
- Dim CHEMIN_COMPLET_NOUVEAU_TXT As String
-
- CHEMIN_COMPLET_TXT = "C:\Documents and Settings\test.txt"
- CHEMIN_COMPLET_NOUVEAU_TXT = Chemin_nouveau_fichier(CHEMIN_COMPLET_TXT)
-
- 'INPUTBOX "INTELLIGENTE" QUI DONNE LE NOMBRE DE LIGNE
- nbre_ligne_fichier = compte_ligne(CHEMIN_COMPLET_TXT)
- N°ligne = 0
- While N°ligne > nbre_ligne_fichier Or N°ligne < 1
- N°ligne = InputBox("Numéro de la ligne à supprimer?" & Chr(10) & "Entre 1 et " & nbre_ligne_fichier & "", "SAISIE")
- If N°ligne = "" Then Exit Sub
- N°ligne = CInt(N°ligne)
- Wend
-
-
- 'N°ligne = VARIABLE_X
-
-
- 'CREATION FICHIER TEMPORAIRE
- Set FSys = CreateObject("Scripting.FileSystemObject")
- Set MonFic = FSys.CreateTextFile(CHEMIN_COMPLET_NOUVEAU_TXT)
-
- 'FERMETURE FICHIER TEMPORAIRE
- MonFic.Close
-
-
- 'ouverture des 2 fichiers texte
- Open CHEMIN_COMPLET_TXT For Input As 1#
- Open CHEMIN_COMPLET_NOUVEAU_TXT For Output As 2#
-
-
- 'LECTURE "CONDITIONNELLE" DU FICHIER SOURCE ET ECRITURE DANS LE NOUVEAU FICHIER
- compteur = 0
- While Not (EOF(1) Or False)
- compteur = compteur + 1
- Input #1, text
- If compteur = N°ligne Then Else Print #2, text '> print est utilisé pour éviter les guillemets apparaissant avec .write
- Wend
-
- 'fermeture des 2 fichiers texte
- Close #1
- Close #2
-
- 'Supprmime le fichier SOURCE
- Kill CHEMIN_COMPLET_TXT
- 'Renomme le fichier TEMP(et donc remplace le fichier SOURCE)
- Name CHEMIN_COMPLET_NOUVEAU_TXT As CHEMIN_COMPLET_TXT
-
- 'If N°ligne > nbre_ligne_fichier Or N°ligne < 1 Then MsgBox "Procédure exécutée avec succès, mais sans effet!", vbInformation, "Message"
-
- End Sub
Function Chemin_nouveau_fichier(Chemin_complet As String)
Dim TEMP As String
Dim NbOC As Integer
Dim compteur as integer
'compte le nombre de caractère dans une chaîne
NbOC = (Len(Chemin_complet) - Len(Replace(Chemin_complet, "\", "", , , 1))) / Len("\")
TEMP = Chemin_complet
For compteur = 1 To NbOC
TEMP = Mid(TEMP, InStr(1, TEMP, "\") + 1)
Next
Chemin_nouveau_fichier = Left(Chemin_complet, Len(Chemin_complet) - Len(TEMP) - 1) & "\TEMP_" & TEMP
End Function
'///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Function compte_ligne(Chemin_complet As String)
On Error GoTo ANNULER 'pour traiter(sommairement)
'les erreurs
Open Chemin_complet For Input As #1
While Not EOF(1)
Line Input #1, texte
NbLignes = NbLignes + 1
Wend
Close #1
compte_ligne = NbLignes
ANNULER:
End Function
'///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Sub suppr_ligne_TXT()
Dim text As String
Dim tmp As String
Dim N°ligne As Variant
Dim nbre_ligne_fichier As Integer
Dim CHEMIN_COMPLET_TXT As String
Dim CHEMIN_COMPLET_NOUVEAU_TXT As String
CHEMIN_COMPLET_TXT = "C:\Documents and Settings\test.txt"
CHEMIN_COMPLET_NOUVEAU_TXT = Chemin_nouveau_fichier(CHEMIN_COMPLET_TXT)
'INPUTBOX "INTELLIGENTE" QUI DONNE LE NOMBRE DE LIGNE
nbre_ligne_fichier = compte_ligne(CHEMIN_COMPLET_TXT)
N°ligne = 0
While N°ligne > nbre_ligne_fichier Or N°ligne < 1
N°ligne = InputBox("Numéro de la ligne à supprimer?" & Chr(10) & "Entre 1 et " & nbre_ligne_fichier & "", "SAISIE")
If N°ligne = "" Then Exit Sub
N°ligne = CInt(N°ligne)
Wend
'N°ligne = VARIABLE_X
'CREATION FICHIER TEMPORAIRE
Set FSys = CreateObject("Scripting.FileSystemObject")
Set MonFic = FSys.CreateTextFile(CHEMIN_COMPLET_NOUVEAU_TXT)
'FERMETURE FICHIER TEMPORAIRE
MonFic.Close
'ouverture des 2 fichiers texte
Open CHEMIN_COMPLET_TXT For Input As 1#
Open CHEMIN_COMPLET_NOUVEAU_TXT For Output As 2#
'LECTURE "CONDITIONNELLE" DU FICHIER SOURCE ET ECRITURE DANS LE NOUVEAU FICHIER
compteur = 0
While Not (EOF(1) Or False)
compteur = compteur + 1
Input #1, text
If compteur = N°ligne Then Else Print #2, text '> print est utilisé pour éviter les guillemets apparaissant avec .write
Wend
'fermeture des 2 fichiers texte
Close #1
Close #2
'Supprmime le fichier SOURCE
Kill CHEMIN_COMPLET_TXT
'Renomme le fichier TEMP(et donc remplace le fichier SOURCE)
Name CHEMIN_COMPLET_NOUVEAU_TXT As CHEMIN_COMPLET_TXT
'If N°ligne > nbre_ligne_fichier Or N°ligne < 1 Then MsgBox "Procédure exécutée avec succès, mais sans effet!", vbInformation, "Message"
End Sub
Conclusion
Merci à cqui789 et yocrita pour leur fonction qui compte le nombre de caractères dans une chaîne.
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
supprimer UNE ligne dans un fichier txt [ par vince ]
mon fichier texte contient par exemple 3 lignes de texte. Je souhaite supprimer la 1ere et en rajouter une à la fin (comme une mémoire déroulante).Mer
Comment supprimer la première ligne dans un fichier texte? Merci:) [ par Kali ]
Je crois que tout est dit dans le titre, j'ai besoin d'automatiser la suppression de la première ligne d'un fichier texte, est-ce possible?Peut-on par
Comment supprimer la première ligne dans un fichier texte? Merci:) [ par Kali ]
Je crois que tout est dit dans le titre, j'ai besoin d'automatiser la suppression de la première ligne d'un fichier texte, est-ce possible?Peut-on par
Supprimer une ligne vide dans un fichier texte [ par zebu001 ]
J'aimerais savoir comment supprimer simplement une ligne vide d'un fichier texte.Exemple de mon fichier :popo;toto;momo;lolo;papa;tata;mama;lala;pepe;
Supprimer des ligne de ma texte box [ par vinsus51 ]
J'ai une text box et je voudrait supprimer les 10 premieres lignes Merci de m'envoyer le code correspondantVinsus
Supprimer du texte dans un fichier [ par mbar ]
Bonjour, Je cherche à faire la manip suivante.Ouverture d'un fichier texte.Lecture d'une ligne de texte.Si la ligne est correcte, je la supprime du fi
Fichier Texte : supprimer une ligne [ par cherrymoon08 ]
Bonjour, voila je voudrias savoir si il existe une fonction en VB.net pour supprimer une ligne dans un fichier texte ou alors faut-il remplacer le con
Supprimer chaque ligne d'un fichier jusqu'à trouver la bonne [ par yo612 ]
Bonsoir,Je souhaite supprimer chaque (premières) lignes d'un fichier qui ne commence par par une date.Bien sûr après la date, il y a des informations
Supprimer la 1ère ligne du fichier texte [ par hamardfred ]
Slt à tous, pour une petite application en VB6, j'aurais souhaiter savoir comment suprimer la première ligne d'un fichier texte. J'aurai voulu savoir
Supprimer de ligne dans un texte avant une chaine spécifiée [ par FkB ]
Bonjour,je cherche, en vbs, à supprimer dans un fichier, toutes les lignes qui se trouvent avant une chaîne de caractères spécifiée dans le vbs.Pouvez
|
Derniers Blogs
ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|