bladeur
Messages postés4Date d'inscriptionlundi 12 avril 2004StatutMembreDernière intervention30 avril 2004
-
16 avril 2004 à 10:27
bladeur
Messages postés4Date d'inscriptionlundi 12 avril 2004StatutMembreDernière intervention30 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
bladeur
Messages postés4Date d'inscriptionlundi 12 avril 2004StatutMembreDernière intervention30 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
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