Прежде всего: вы смешали здесь две техники написания файлов. Вы можете полностью пропустить строки
f=Freefile
Open fichier For Output As #f
Они принадлежат к другому типу записи файлов с командами печати. Здесь не нужно.
Второе: вы проверяли документацию на WriteText? Очевидно, нет, потому что тогда вы бы нашли второй (необязательный) параметр eol:
байт & = notesStream .WriteText (текст $, [eol &])
Параметр eol:
Константа типа Long. Символ конца строки добавляется к тексту. По умолчанию EOL_NONE.
- EOL_CR (2) добавляет возврат каретки (ASCII 13).
- EOL_CRLF (0) добавляет возврат каретки и перевод строки (ASCII 10 + 13).
- EOL_LF (1) добавляет перевод строки (ASCII 10).
- EOL_NONE (5) ничего не добавляет. По умолчанию.
- EOL_PLATFORM (3) следует соглашениям текущей платформы.
Итак, одна строка вашего кода будет:
Call Stream.WriteText(|<datamodified>|, EOL_PLATFORM)
Или
Call Stream.WriteText(|<datamodified>|, EOL_CRLF)
Просто добавьте этот второй параметр для каждой строки.