N'ouvrir que les 10 premieres lignes d'un texte.

Résolu
pausezero Messages postés 15 Date d'inscription samedi 21 juin 2003 Statut Membre Dernière intervention 19 avril 2006 - 26 mars 2006 à 00:43
pausezero Messages postés 15 Date d'inscription samedi 21 juin 2003 Statut Membre Dernière intervention 19 avril 2006 - 26 mars 2006 à 23:48
Bonjour, bonsoir
Je aimerais pouvoir ouvrir seulement les 10 premiere lignes d'un texte dans une textbox ( Bien sur, si le texte ouvert contenait moins de 10 lignes, il s'ouvrirait sans probleme ).

J'ai ca, mais cela n'ouvre que la derniere ligne du texte.
_____________________

Dim ligne As Integer
Open "Fichier_texte" For Input Lock Read As #1
While Not EOF(1)
Line Input #1, Montexte
texte = Montexte
Wend
Close
End Sub
' "texte" étant le contenu du texte exporté vers la textbox '
______________________

Puis-je espérer une solution pour un novice ? Merci de m'aider.

OvO

7 réponses

pausezero Messages postés 15 Date d'inscription samedi 21 juin 2003 Statut Membre Dernière intervention 19 avril 2006
26 mars 2006 à 23:48
Mille merci et mille fois merci ! Rien a dire ici ( chez vbfrance ) on fait fonctionner la machine !

Je mets la code pour l'ouvrir dans une textbox (pour les novices comme moi)
Le résultat est né de la bonne volonté de ceux qui m'ont aidé ici.

_________________________________
Private Sub Command1_Click()
Dim numFile As Integer
Dim compteur As Long
Dim MonTexte As String
Dim TOUTMonTexte As String


compteur = 1
numFile = FreeFile
Open "c:\essai.txt" For Input Lock Read As #numFile
While Not EOF(numFile)
If compteur < 11 Then
Line Input #numFile, MonTexte
TOUTMonTexte = TOUTMonTexte & MonTexte & vbCrLf
compteur = compteur + 1
Else
Line Input #numFile, MonTexte
End If
Wend
Close #numFile

Text1 = TOUTMonTexte
End Sub
______________________________________
OvO
3
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
26 mars 2006 à 09:39
Salut,



Utilise donc un compteur de lignes :


Dim numFile As Integer

Dim compteur As Long

Dim MonTexte As String



compteur=1

numFile=FreeFile

Open "Fichier_texte" For Input Lock Read As #numFile

While Not EOF(numFile)

If compteur<11 Then

Line Input #numFile, Montexte

MsgBox "Ligne " & compteur & " : " & Montexte

compteur=compteur+1

End If

Wend

Close #numFile

End Sub






Manu
0
pausezero Messages postés 15 Date d'inscription samedi 21 juin 2003 Statut Membre Dernière intervention 19 avril 2006
26 mars 2006 à 11:47
Merci pour ta réponse. J'ai bien ajouté une ligne "Text1= MonTexte" (pour ouvrir dans une textbox) mais cela ouvre les lignes une a une (apres que la précédente soit effacée) alors que je voudrais ouvrir une partie entiere du texte séléctionné dans une textbox (Text1), soit les dix premieres lignes en meme temps. Ton code, apres le 10e clic sur MsgBox, fait planter mon (ptit) prog (?). J'ai bien essayé de faire une sorte de boucle mais suis (encore) trop novice pour ca


Un petit complément de code serait le grand bienvenu. Encore un fois merci pour ton apport a la communauté.

OvO
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
26 mars 2006 à 12:32
C'est quoi EOF et Input et # ??!! Je n'y comprends rien !

Redman
0

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

Posez votre question
conseildg Messages postés 86 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 18 mars 2007
26 mars 2006 à 12:53
il suffit d'ajouter dans le prog de Manu

Dim TOUTMonTexte As String

et dans le IF modifier ainsi :

Line Input #numFile, Montexte
TOUTMonTexte = TOUTMonTexte & Montexte
MsgBox "Ligne " & compteur & " : " & TOUTMonTexte
compteur=compteur+1
0
pausezero Messages postés 15 Date d'inscription samedi 21 juin 2003 Statut Membre Dernière intervention 19 avril 2006
26 mars 2006 à 17:14
Merci conseildg pour ton ajout qui fonctionne. Le hic, c'est que si le texte ouvert contient plus de 10 lignes (car nous avons fixé la limite a 10 lignes), eh ben, le prog plante. Une solution ?

OvO
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
26 mars 2006 à 22:31
Voici le correctif à apporter sur mon code pour qu'il ne tourne pas en boucle (plantage que tu as mentionné)




Dim numFile As Integer
Dim compteur As Long
Dim MonTexte As String

compteur=1
numFile=FreeFile
Open "Fichier_texte" For Input Lock Read As #numFile
While Not EOF(numFile)
If compteur<11 Then
Line Input #numFile, Montexte
MsgBox "Ligne " & compteur & " : " & Montexte
compteur=compteur+1

Else

Line Input #numFile, MonTexte
End If
Wend
Close #numFile


Manu
0
Rejoignez-nous