Importer fichier texte

cs_dam94 Messages postés 59 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 14 juin 2004 - 28 avril 2004 à 14:28
webanis Messages postés 44 Date d'inscription mercredi 19 septembre 2007 Statut Membre Dernière intervention 11 décembre 2007 - 31 oct. 2007 à 18:14
Bonjour,

Je débute en VB et j'aurais voulu savoir comment faire pour appeler un fichier texte. J'ai écrit un fichier avec le bloc note et je voudrai qu'il apparaisse dans ma textBox.

Merci de votre aide,

DAMIEN

7 réponses

HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
28 avril 2004 à 14:55
Bonjour,

Dim texte As String
texte = ""
Const ForReading 1, ForWriting 2, ForAppending = 3
Dim objetfile, fichier
Set objetfile = CreateObject("Scripting.FileSystemObject")
Set fichier = objetfile.OpenTextFile("C:\test.txt", ForReading)

Do While fichier.AtEndOfStream <> True
   texte = texte & fichier.ReadLine
Loop

fichier.Close

TextBox1.Text = texte


Voilà,
(enfin, là le texte n'est pas formaté dans la textbox, j'affiche tout sur une meme ligne, mais c'est déjà pour te donner un fil directeur)

Fanny
0
cs_dam94 Messages postés 59 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 14 juin 2004
28 avril 2004 à 15:41
Merci mais j'ai rien compris du tout! Je suis incapable de continué quoi que ce soit! Sinon qu'est ce que tu veux dire par " le texte n'est pas formté?"

DAMIEN
0
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
28 avril 2004 à 15:55
Bon,

En fait les premières lignes tu ne t'en préoccupes pas, elles servent à initialiser les variables pour ouvrir ton fichier texte.
Il te suffit juste de remplacer le c:\test.txt par le chemin de ton fichier texte.

Ensuite le

Do while fichier.AtEndOfStream <> True
Loop

C'est la boucle qui dit : tant que je ne suis pas arrivé à la fin du fichier (AtEndOfStream), je fais ce qu'il y a à l'intérieur de la boucle.

C'est à dire que dans cette boucle, je vais pouvoir lire ligne par ligne ce qu'il y a dans le fichier texte : fichier.ReadLine

Comme tu souhaites afficher le tout dans une textbox, il faut que lorsque tu parcours ce fichier, tu gardes en mémoire (dans une variable de type String) la valeur de chaque ligne :
Dim texte As String
Do while fichier.AtEndOfStream <> True
texte = texte & fichier.ReadLine
Loop


Ici je mets toutes les lignes du fichier bout à bout dans la meme variable (c'est la raison pour laquelle je dis que le texte n'est pas formaté car il n'y a pas de retour à la ligne).

Donc voilà, dis moi si ce n'est toujours pas clair.
Tout ce que je veux t'expliquer, c'est que si tu as un fichier texte du genre :
bonjour
coucou
salut

en exécutant mon bout de programme tu auras affiché dans la textBox :
bonjourcoucousalut
tout sera collé car j'ai concaténé les valeurs des lignes dans ma variables sans espaces ni saut de ligne.

NB : une textBox ne permet pas de retour à la ligne.
Utilise textBox seulement si tu as peu de caractères à afficher.

Fanny
0
cs_dam94 Messages postés 59 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 14 juin 2004
28 avril 2004 à 16:46
Merci j'ai l'impression d'avoir compris par contre quand je l'exécute je n'ai rien dans ma textbox. E dès que j'appuie sur une touche il y a une erreur de type"52", nom ou numéro de fichier incorrect.

DAMIEN
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
28 avril 2004 à 16:57
C'est sans doute parce que le chemin de ton fichier n'est pas correct. Vérifies ça, car moi ça a fonctionné et je t'ai écrit le code tel que je l'ai écrit.

Fanny
0
phenX Messages postés 704 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012
10 nov. 2005 à 15:34
je confirme, ca marche, mais si tu veut un retour a la ligne, c'est au niveau de ton fichier ttexte que tu doit voir ca
0
webanis Messages postés 44 Date d'inscription mercredi 19 septembre 2007 Statut Membre Dernière intervention 11 décembre 2007
31 oct. 2007 à 18:14
salut

1ere solution

OFile = "H:\r.txt"  // doit defini le chemin d'autre fichier text
LFile = FreeFile
Open OFile For Input As #LFile  doit open votre fichier text


   While Not EOF(LFile)
      Input #LFile, tAmpon
      List5.AddItem tAmpon   doit le met dans un listebox
   Wend
Close #LFile

2ieme solution :

Dim LFile As Long 'Lecture
'Dim OFile As String 'Fichier à ouvrir
'Dim Ligne As String 'Ligne

'OFile = "H:\m.txt"
'LFile = FreeFile
'Open OFile For Input As #LFile
'Do 'début de boucle
'Input #LFile, Ligne
'Text1.Text = Text1.Text & vbNewLine & Ligne 'pour le textbox
'Loop Until EOF(LFile)
0
Rejoignez-nous