Manipulation fichier .txt avec VBA (suppression et insertion de lignes)

Bonjour tout le monde !

Je vous contacte car j'ai un petit problème.

Je dois modifier un fichier .txt d'entre 500 et 10 000 lignes (généré par un outil). Pour ce faire, il me suffit d'ouvrir le fichier, supprimer les 36 premières lignes, insérer au début 50 autres lignes (qui sont dans une feuille de mon fichier excel), enregistrer et fermer le fichier txt.

Savez-vous déjà s'il est possible de réaliser cela à l'aide d'une macro VBA sur Excel 2013 ? Et si oui, je serai ravi d'avoir quelques indications svp :)

Merci beaucoup et bonne journée.

Thomas ASMAR

bonjour,

ce sera une variante de cette macro, dépendant de votre fichier TXT et les nouvelles lignes à ajouter. Vous avez des fichiers (rendu anonyme et de chaqu'un min 100 lignes)

Sub Remplacer_N_premiers()
     Dim fileName, fileNo, aAutres
     Dim iAnciens: iAnciens = 36     'nombre de lignes au début qu'on doit effacer
     Dim iAutres: iAutres = 60     'nombre de nouvelles lignes au début

     fileName = ThisWorkbook.Path & "\Combinations_5.txt"     'Nom_de_mon_fichier.txt"

     fileNo = FreeFile     'Get first free file number
     Open fileName For Input As #fileNo
     textData = Input$(LOF(fileNo), fileNo)
     Close #fileNo

     sp = Split(textData, vbCrLf, iAnciens, 1)     'split des autant premiers
     If UBound(sp) <> iAnciens - 1 Then MsgBox "erreur", vbCritical: Exit Sub

     ReDim aAutres(0 To iAutres - 1)
     For i = 0 To UBound(aAutres)
          aAutres(i) = "Le nouveau contenu de la ligne " & i + 1
     Next

     fileNo = FreeFile     'Get first free file number
     Open fileName For Output As #fileNo  'Open file for overwriting! Replace Output with Append to append
     Write #fileNo, Join(aAutres, vbCrLf) & vbCrLf & sp(UBound(sp))
     Close #fileNo

End Sub

Merci beaucoup BsAlv !!

Je vais étudier ça, mais d'un premier coup d'oeil, j'ai l'impression que c'est ce que je cherchais !

Merci encore et bonne journée !

Rechercher des sujets similaires à "manipulation fichier txt vba suppression insertion lignes"