Bonjour à tous,
A tester :
Sub TestEscamoterUnSeparateurDeChampCsv()
Dim RepertoireSauvegarde As String
RepertoireSauvegarde = "D:\XXXX"
RemplacerLesPartiesDeTextes RepertoireSauvegarde, "Essai texte.csv", "Essai texte2.csv", 3
End Sub
Sub EscamoterUnSeparateurDeChampCsv(RepertoireFichier As String, NomFichier As String, NouveauFichier As String, ByVal PositionPVirgule As Integer)
Dim I As Integer, NbPointVirgule As Integer
Dim InputData As String, ContenuLigne As String
Dim NbPointVirgule As Integer
Dim fs As Object, f As Object
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.CreateTextFile(RepertoireFichier & "\" & NouveauFichier, True)
Open RepertoireFichier & "\" & NomFichier For Input As #1
Do While Not EOF(1)
NbPointVirgule = 0
ContenuLigne = ""
Line Input #1, InputData
For I = 1 To Len(InputData)
Select Case Mid(InputData, I, 1)
Case ";"
NbPointVirgule = NbPointVirgule + 1
If NbPointVirgule = PositionPVirgule Then
ContenuLigne = ContenuLigne & " "
Else
ContenuLigne = ContenuLigne & Mid(InputData, I, 1)
End If
Case Else
ContenuLigne = ContenuLigne & Mid(InputData, I, 1)
End Select
Next I
Debug.Print NbPointVirgule & " : " & InputData & " , " & ContenuLigne
f.write ContenuLigne & vbNewLine
Loop
Close #1
f.Close
Set f = Nothing
Set fs = Nothing
End Sub