Sub ReDoCSV(ByVal sPath As String) ' le fichier doit exister et contenir au moins ce fameux header !! Dim FF As Integer Dim sLine As String Dim sLines As String Dim saHeader() As String Dim i As Integer Dim j As Integer sLines = vbNullString i = 0 FF = FreeFile Open sPath For Input As #FF Do While Not EOF(FF) i = i + 1 Line Input #FF, sLine If i = 1 Then ' première ligne, on garde de côté en tableau saHeader = Split(sLine, " ; ") Else ' les autre ligne, on se compose notre buffer sLines = sLines & vbCrLf & sLine End If Loop Close #FF ' on travaille sur le tableau, le but étant de numéroter tous les NOM trouvés j = 0 For i = 0 To UBound(saHeader) - 1 If saHeader(i) = "NOM" Then j = j + 1 saHeader(i) = "NOM" & CStr(j) End If Next i ' on a maintenant "DATE ; HEURE ; NOM1 ; COURT ; NATURE" ' oubien "DATE ; HEURE ; NOM1 ; NOM2 ; NOM3 ; NOM4 ; COURT ; NATURE" ' ré-écriture FF = FreeFile Open sPath For Output As #FF Print #FF, Join(saHeader, " ; ") & sLines; Close #FF End Sub
saHeader(i) = "NOM" & CStr(chr$(j+64))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question