Bonjour
J'avais bricolé cette macro, mais j'hésite car en la testant elle m'avait remplacé les ; (points virgule) par des , (virgules) et je sais pas pourquoi
J'ai fait d'autres essai et pas reproduit ce problème mais ......
Pour utiliser cette macro
Il faut modifier la fin de tes 2 macros
Pour la macro CommandButton4_Click
ActiveWorkbook.SaveAs Filename:="C:\Users\FPY611\Desktop\fichier DMH2.csv", _
FileFormat:=xlCSV, CreateBackup:=False, local:=True
ActiveWorkbook.Close savechanges:=False
NettoyageCR "C:\Users\FPY611\Desktop\fichier DMH2.csv"
End If
End Sub
Pour la macro CommandButton5_Click
ActiveWorkbook.SaveAs Filename:="C:\Users\FPY611\Desktop\fichier DMH4.csv", _
FileFormat:=xlCSV, CreateBackup:=False, local:=True
ActiveWorkbook.Close savechanges:=False
NettoyageCR "C:\Users\FPY611\Desktop\fichier DMH4.csv"
End If
End Sub
Ensuite tu rajoutes cette macro dans un module
Option Explicit
Sub NettoyageCR(NomDeFichier As String)
' http://frederic.sigonneau.free.fr/code/Formats/FichiersTexte1.txt
' Modifié par Banzai64 pour enzodekouba le 27 Février 2014
Dim NoFichier As Integer
Dim LongueurFichier As Long
Dim MaVariable As String
NoFichier = FreeFile()
'Ouvre le fichier en mode lecture.
Open NomDeFichier For Input As #NoFichier
LongueurFichier = FileLen(NomDeFichier)
MaVariable = Input(LongueurFichier, NoFichier)
Close NoFichier
' Tant que le dernier caractère est un CR
' On diminue la taille
While Asc(Mid(MaVariable, LongueurFichier - 1, 1)) = 13
LongueurFichier = LongueurFichier - 1
Wend
NoFichier = FreeFile()
'Ouvre le fichier en mode ecriture.
Open NomDeFichier For Output As #NoFichier
Print #NoFichier, Left(MaVariable, LongueurFichier);
Close NoFichier
End Sub
A toute fin utile