(macro vba)

sylvo -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Depuis des semaines je n'arrive pas à solutionner mon problème:
j'ai un fichier txt :

AA11pi BkPm 1478 ni
BB457 44444 mlkk kopppp
BB124 MPP44 1878 mmmmmmmmm

Je voudrais remplacer les caractères en 15ème - 16ème position (78) en 01 si est seulement si c'est égal à (78) et la 1ère - 2ème position =(BB), remplacer par 28 dans toutes les ligne

En vous remerciant

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Un exemple de code VBA

    Sub conver()
      Dim Fic, Fic1, Buffer
      
      'Fichier source chemin et fichier a definir
      Fic = "Chemin\Fichier_TXT.TXT"
      'Fichier Cible chemin et fichier1 a definir
      Fic1 = "Chemin\Fichier_TXT1.TXT"
      Close
      
      Open Fic For Input As #1
      Open Fic1 For Output As #2
        Do While Not EOF(1)
          Input #1, Buffer
            If Mid(Buffer, 15, 2) = "78" Then
              Mid(Buffer, 15, 2) = "01"
            End If
            If Left(Buffer, 2) = "BB" Then
              Buffer = "28" & Mid(Buffer, 3)
            End If
            Print #2, Buffer
        Loop
      Close
    End Sub
    


    Bonne suite
    0