FAQ LibreOffice et Apache OpenOfficeConsultez toutes les FAQ
Nombre d'auteurs : 10, nombre de questions : 359, dernière mise à jour : 15 juillet 2017 Ajouter une question
Bienvenue sur la FAQ, elle a été réalisée pour répondre aux questions concernant les suites bureautiques Apache OpenOffice (AOO) et LibreOffice (LibO).
Si vous souhaitez participer pour l'améliorer, pour proposer vos contributions ou si vous constatez des erreurs dans cette page, n'hésitez-pas !!! Participez.
- Comment écrire dans un fichier texte en utilisant l'instruction Output ?
- Comment écrire dans un fichier texte en utilisant l'instruction Append ?
- Comment lire le contenu d'un fichier texte en utilisant l'instruction Input ?
- Comment imprimer le contenu d'un fichier texte ?
- Comment supprimer une ou plusieurs lignes dans un fichier texte ?
- Comment supprimer les lignes en doublon dans un fichier texte ?
- Comment compter le nombre de lignes dans un fichier texte ?
- Comment remplacer des chaînes de caractères dans un fichier texte ?
Si le fichier .txt existe déjà, les anciennes données seront écrasées.
Si le fichier n'existe pas, il sera créé automatiquement.
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 | Sub EcrireDansFichierTexte_OutPut Dim Fichier As String Fichier = "C:\NomFichier.Txt" Open Fichier For Output As #1 Print #1, "Test 1ere ligne" Print #1, "Test 2eme ligne" Close #1 End Sub |
Les données viennent s'inscrire à la suite des lignes existantes.
Si le fichier .txt n'existe pas, il sera créé automatiquement.
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 | Sub EcrireDansFichierTexte_Append Dim Cible As Integer Dim Fichier As String Fichier = "C:\NomFichier.Txt" Cible = freeFile Open Fichier For Append As #Cible Print #Cible, "Mon texte dans le fichier" Close #Cible End Sub |
La procédure suivante permet de boucler sur toutes les lignes du fichier texte.
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Sub LireFichierTexte_Input Dim Ligne As String Dim Fichier As String Fichier = "C:\NomFichier.Txt" Open Fichier For Input As #1 '--- Boucle sur les lignes du fichier Do While Not EOF(1) Line Input #1, Ligne Msgbox Ligne Loop Close #1 End Sub |
Code vb : | Sélectionner tout |
Shell "notepad.exe /P""C:\NomFichier.Txt""", 1
La macro supprime les lignes 1, 3 et 10 dans le fichier texte :
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | Sub SupprimerQuelquesLignes Dim Fichier As String Dim Collect As New Collection Dim F As Integer, i As Integer Dim Ligne As String Fichier = "C:\NomFichier.Txt" F = FreeFile 'Lecture du fichier : ajoute chaque ligne dans la collection Open Fichier For Input As #F While Not EOF(F) Line Input #F, Ligne Collect.Add Ligne Wend Close #F 'Suppression des lignes 1, 3 et 10 dans la collection Collect.Remove 10 Collect.Remove 3 Collect.Remove 1 'Réécriture du fichier txt sans les données supprimées Open Fichier For Output As #F For i = 1 To Collect.Count Print #F, Collect(i) Next Close #F Collect = Nothing End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | Sub SupprimerLignesDoublons Dim Fichier As String Dim Collect As New Collection Dim F As Integer, i As Integer Dim Ligne As String Fichier = "C:\NomFichier.Txt" F = FreeFile On Error Resume Next 'Lecture du fichier Open Fichier For Input As #F While Not EOF(F) Line Input #F, Ligne 'Le 2eme argument, key = Cstr(Ligne), est unique et permet donc de filtrer les doublons 'dans la collection. Collect.Add Ligne , Cstr(Ligne) Wend Close #F On Error GoTo 0 'Réécriture du fichier txt sans les doublons Open Fichier For Output As #F For i = 1 To Collect.Count Print #F, Collect(i) Next Close #F Collect = Nothing End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Sub nombreLignesFichierTexte_V01() Dim strLigne As String Dim nbLignes As Long Dim Fichier As String Fichier = "C:\NomFichier.Txt" Open Fichier For Input As #1 Do While Not EOF(1) Line Input #1, strLigne nbLignes = nbLignes + 1 Loop Close #1 MsgBox "Nombre de lignes : " & nbLignes End Sub |
Une deuxième possibilité :
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Sub nombreLignesFichierTexte_V02() Dim oObj As Object , Fso As Object , oFile As Object Dim Fichier As String Const ForReading = 1 Fichier = "C:\NomFichier.Txt" oObj = createUnoService("com.sun.star.bridge.OleObjectFactory") Fso = oObj.createInstance("Scripting.FileSystemObject") oFile = Fso.OpenTextFile( Fichier , ForReading ) oFile.ReadAll MsgBox "Nombre de lignes : " & oFile.Line oFile.Close End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | Sub RemplacerChaine_Dans_FichierTexte Dim Chaine As String , Cible As String Dim Fichier2 As String , Fichier1 As String Dim Ancien As String , Nouveau As String Ancien = "42" Nouveau = "29" 'Le fichier original Fichier1 = "C:\NomFichier.txt" 'Le nouveau fichier qui va être créé Fichier2 = "C:\NomFichierModifié.txt" Open Fichier1 For Input As #1 Open Fichier2 For Append As #2 'Boucle sur toutes les lignes du fichier texte Do While Not EOF(1) Line Input #1, Chaine 'Remplace les caractères dans la chaine Cible = Join(Split(Chaine , Ancien), Nouveau) 'Ecrit le résultat dans un nouveau fichier texte Print #2, Cible Loop 'Fermeture des fichiers Close #1 Close #2 'Suppression Fichier d'origine 'Kill Fichier1 MsgBox "Terminé." End Sub |
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.