lecture fichier texte avec vb

lecture fichier texte avec vb - VB/VBA/VBS - Programmation

Marsh Posté le 10-02-2007 à 11:31:50    

slt  
je viens de commencer avec les fichiers sur vb ,alors j'ai essayé  
de lire un fichier texte avec en l'affichant dans un textBox,
le texte sur plusieurs lignes mais il me l'affiche sur une mm ligne.
[cpp]
Private Sub Command1_Click()
Dim num As Variant
Dim L As String
Open "G:\anis.txt" For Input As #num
txtfile.text=input(lof(num),#num)
close #num

Reply

Marsh Posté le 10-02-2007 à 11:31:50   

Reply

Marsh Posté le 10-02-2007 à 14:44:28    

Exemple VBA ( séparateur : virgule ) à tester et adapter


Option Explicit
 
Sub Tst()
Dim Chaine As String
Dim Ar() As String
Dim i As Long
Dim iRow As Long, iCol As Long
Dim NumFichier As Integer
     
    Cells.Clear
    NumFichier = FreeFile
    iRow = 1
 
    Open "G:\anis.txt" For Input As #NumFichier
        Do While Not EOF(NumFichier)
            iCol = 1
            Line Input #NumFichier, Chaine
            Ar = Split(Chaine, "," )
            For i = LBound(Ar) To UBound(Ar)
                Cells(iRow, iCol) = Ar(i)
                iCol = iCol + 1
            Next
            iRow = iRow + 1
        Loop
    Close #NumFichier
End Sub


Message édité par kiki29 le 10-02-2007 à 14:47:34
Reply

Marsh Posté le 10-02-2007 à 20:30:35    

     Private Sub CommandButton1_Click()
      Dim TextFile As String  
      Dim File As String
       
      textbox1.MultiLine = true  
 
      Open "c:\home\cgm\test.txt" For Input As 1
      Do While Not EOF(1)
      Input #1, TextFile
      textbox1.Text = textbox1.Text & TextFile + Chr(13) + Chr(10)
      Loop
      Close #1
      End Sub
 
 

Reply

Marsh Posté le 10-02-2007 à 20:54:18    

finalement la solution est simplement de mettre la propriété multiline de ta textbox à true

Reply

Marsh Posté le 11-02-2007 à 11:28:48    

oui je sais et je l'avais déja fais mais aprés exécution
l'affichage se fait sur une meme ligne du fichier texte

Reply

Marsh Posté le 11-02-2007 à 19:04:01    

En mettant Multiline à True dans les propriétés de TextBox


Option Explicit
 
Private Sub Command1_Click()
Dim Chaine As String
Dim NumFichier As Integer
    NumFichier = FreeFile
    Text1.Text = ""
    Open "G:\Anis.txt" For Input As #NumFichier
        Do While Not EOF(NumFichier)
            Line Input #NumFichier, Chaine
            Text1.Text = Text1.Text & Chaine & vbCrLf
        Loop
    Close #NumFichier
End Sub


Ce qui revient, à peu de chose près, à ce que Daniel-12 a proposé


Message édité par kiki29 le 12-02-2007 à 04:41:42
Reply

Marsh Posté le 19-06-2011 à 07:01:21    

ca marche bien merci, par contre y a t'il un moyen de donner un chemin relatif au lieu d'absolut ?
 
Reponse par moi-meme : yes of course
 
il suffit d'utiliser ActiveWorkbook.Path, ca donne le chemin du document Excel sur lequel on bosse.
 
a+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed