Détection de fin de ligne

bladeur Messages postés 4 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 30 avril 2004 - 16 avril 2004 à 10:27
bladeur Messages postés 4 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 30 avril 2004 - 16 avril 2004 à 11:56
Salut tout le monde. Je suis nouveau en VB et j'ai un petit prog à faire:
Le prog consiste à extraire des données séparer par des "!" dans un fichier texte et de les mettres dans dans des cellules Excel.
J'ai réussi à mettre les données textes correctement dans les colonnes Excel.
Mais il y a un problème pour la dernière colonne Excel.
En effet dans le fichier texte, la dernière colonne ne comporte ni de "!" ni de " ". De ce fait mon prog recopie dans la 1ère cellule Excel, les données de la 1ère et dernière colonne du fichier texte.

C'est pourquoi j'aimerait savoir comment on peut détecter la fin d'une ligne dans un fichier texte en VB?

Si quelqu'un peut m'aider, je lui en serait reconnaissant

2 réponses

cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
16 avril 2004 à 10:32
Bonjour
Quelles instructions utilises-tu pour "extraire les données du fichier texte" ?
0
bladeur Messages postés 4 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 30 avril 2004
16 avril 2004 à 11:56
Voici mon source :

Private Sub BT_CONV_EXEL_Click()

'Déclaration des variables
Dim ExcelAppli As Application 'Création d'une instance excel

'cette chaîne sert à extraire les lignes ascii
Dim Chaîne As String
Dim Mot, Caract, fin As String
Dim LigneExcel, Longueur, J, I, ColonneExcel, id As Integer
Dim NbrLigne, NbrColonne As Integer

id = FreeFile
'j'ouvre le fichier texte
Open Fichier.Path & "" & Fichier.FileName For Input As #id

Set ExcelAppli = CreateObject("Excel.Application")
ExcelAppli.Visible = True 'je rend visible l'application
ExcelAppli.Workbooks.Add.Activate 'je crée un nouveau classeur en pointant dessus
LigneExcel = 0

Do While Not EOF(id) 'tant que je ne suis pas à la fin du fichier .txt

LigneExcel = LigneExcel + 1
Line Input #id, Chaîne
Longueur = Len(Chaîne)

J = 0
NbrColonne = 0
ColonneExcel = 0

For J = 1 To Longueur
Caract = Mid(Chaîne, J, 1)
If (Caract = "!") Then
NbrColonne = NbrColonne + 1
End If
Next J

For J = 1 To Longueur
Caract = Mid(Chaîne, J, 1)
If (Caract = "!") Then
ColonneExcel = ColonneExcel + 1
ActiveWorkbook.Worksheets("Feuil1").Cells(LigneExcel, ColonneExcel) = Mot
Mot = ""
Else
Mot = Mot & Caract
End If
Next J

Loop
Close #id

End Sub
0
Rejoignez-nous