Chgt de séparateur [VB6]

cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 - 13 avril 2006 à 17:36
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 14 avril 2006 à 12:46
bonjour
j'ai un fichier texte de 4 colonnes dont les séparateurs sont des espaces,et du au espace,je n'arrive pas à convertir mon fichier texte en fichier excel.
est ce possible de modifier mes séparateurs "espaces" par des "tabulations",mais sans que l'utilisateur ne le voit .Car aprés avec mon programme je pourrais le convertir en Excel.
merci
@ plus
petchy

3 réponses

cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
13 avril 2006 à 18:57
Il existe une fonction dans VB6 qui permet de remplacer des caractères isolés ou des chaînes de caractères à l'intérieur d'une chaîne de caractères. Le plus simple pour votre cas serait de remplacer les espaces par des points virgules ce qui transformerait votre fichier texte en fichier CSV tout à fait facile à ouvrir dans Excel.

Sub TransFormTxtToCsv(sFileTxt As String)
Dim lFileTxt As Long, lFileCSV As Long, sFileCSV As String
Dim sLine As String,sLineCSV As String
lFileTxt=FreeFile
Open sFileTxt For Input As #lFileTxt
sFileCsv=Left(sFileTxt, Len(sFileTxt)-3) & "CSV"
lFileCSV=FreeFile
Open sFileCSV For Output As #lFileCSV
Do
Line Input #lFileTxt, sLine
sLineCSV=Replace(sLine," ",";")
Print #lFileCSV, sLineCSV
Loop Until EOF(lFileTxt)
Close #lFileTxt,#lFileCSV
Kill sFileTxt
End Sub
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
13 avril 2006 à 20:56
Re
merci JPerre de ta réponse,mais je n'arrive pas à l'intégré dans mon prog,mais par contre j'ai ses codes,est ce que ça joue pour les séparateurs,si oui coment lui dire que c'est des espaces.

Private Sub Txt_ExcelTexte_Separateur_GotFocus()
Txt_TexteAccess_Separateur.SelLength = 2
End Sub
Private Sub Txt_ExcelTexte_Separateur_KeyPress(KeyAscii As Integer)
Txt_TexteAccess_Separateur.Text = Chr(KeyAscii)
Txt_TexteAccess_Separateur.SelLength = 2
KeyAscii = " "
End Sub


Private Sub Txt_TexteExcel_Separateur_GotFocus()
Txt_TexteAccess_Separateur.SelLength = 2
End Sub
Private Sub Txt_TexteExcel_Separateur_KeyPress(KeyAscii As Integer)
Txt_TexteAccess_Separateur.Text = Chr(KeyAscii)
Txt_TexteAccess_Separateur.SelLength = 2
KeyAscii = 0
End Sub
merci$
petchy
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
14 avril 2006 à 12:46
salut,

çà peut aider? VB6...






Option Explicit

'

'

Private Sub Form_Load()

Const sMyFile As String = "C:\truc.txt"

Dim FF As Integer, sSource As String



FF = FreeFile

Open sMyFile For Input As #FF

sSource = Input (LOF(FF), 1)

Close #FF



MsgBox sSource

sSource = Replace(sSource, Chr$(32), vbTab)

MsgBox sSource



FF = FreeFile

Open sMyFile For Append As #FF

Print #FF, sSource

Close #FF



Unload Me

End Sub




<small> Coloration
syntaxique automatique [AFCK]</small>



++

PCPT [AFCK]
0
Rejoignez-nous