3 pièce(s) jointe(s)
Problème pour Transformer EOL de Windows à Unix
Bonjour,
J'utilise une macro "Changement_EOL_File" qui convertit toutes les sauts de ligne d'un fichier texte qui a précédemment était généra par la macro "Manipule_Datas" ==> le tout est dans le fichier excel "exemple_pour_aide.xlsm"
Les macros fonctionnent "parfaitement" mais j'ai un phénomène étrange qui se produit lors de la conversion de mes "fin de lignes". Je dois passer d'un format windows "vbCrLf" vers un format Unix "vbLf"
Lors de la conversion, dans mon fichier texte de retour, j'ai des lignes qui sont générées en doublon à la fin et qui conservent le format Windows contrairement aux premières lignes qui sont bonnes. ==> fichier "Pabx04_22_retours_en-utilisant-Changement_EOL_File.txt"
Si j'utilise la macro "Manipule_Datas" sans appeler à la fin de celle-ci la macro "Changement_EOL_File", mon fichier de retour contient exactement le même nombre de lignes que mon onglet "Retours" qui a été généré. ==> fichier "Pabx04_22_retours_sans-utiliser-Changement_EOL_File.txt"
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Sub Changement_EOL_File(Fichier As String)
Dim FileLength As Long
Dim iFile As Integer
Dim strTemp As String
iFile = FreeFile
Open Fichier For Binary As #iFile
FileLength = LOF(iFile)
strTemp = String(FileLength, Chr(0))
Get #iFile, 1, strTemp
strTemp = Replace(strTemp, vbCrLf, vbLf)
Put #iFile, 1, strTemp
Close #iFile
End Sub |
J'ai l'impression que c'est au moment d'utiliser la fonction Put que le problème se produit mais je ne vois pas comment faire autrement.
Si quelqu'un a une idée, je suis preneur.
Manu,