Quel est l'erreur ? lecture/ecriture texte

ephores Messages postés 123 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 5 juin 2007 - 30 avril 2004 à 11:02
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 - 14 janv. 2005 à 15:27
Bonjour, voila mon blem.

j'ai un fichier texte dans laquel il y a plusieur lign du style :
"
Bonjour
Salut
Aurevoir
A bientôt"
"
etc...

mon prog contient deux textbox et un bouton command,
je voudrais que lorsque je tape "Aurevoir" dans text1 qu'il affiche " A bientôt" dans text2 lorsque je clik.
J'y suis arrivé grâce a l'aide de certain d'entre vous mais j'ai une erreur a chaque fois.

voici mon prg :

Private Sub Command3_Click()
Dim fin As Boolean
Dim mot1 As String
Dim mot2 As String
fin = False
Open "c:\test2.txt" For Input As #1
While Not (EOF(1)) And Not (fin)
'tu les deux lignes par deux lignes
Line Input #1, mot1
Line Input #1, mot2
If UCase$(Trim$(mot1)) = UCase$(Trim$(Text1)) Then
fin = True
Text2.Text = mot2
Close #1
End If
Wend
End Sub

*******************************

voici l'erreur :

Erreur d'execution 52
Nom ou numéro de fichier incorrecte.

à cette ligne : While Not (EOF(1)) And Not (fin)

*******************************************

Merci de m'aider ;-)

8 réponses

cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
30 avril 2004 à 11:06
labout
Si c'est pour écrire alors
Open fichier For Output As #1
@+
0
ephores Messages postés 123 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 5 juin 2007
30 avril 2004 à 11:17
non, si text1 = une ligne de mon texte ALORS affiche la ligne suivante dans text2
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
30 avril 2004 à 11:38
Bonjour

Normal : quand il a trouvé (boucle If ... End If), le fichier est fermé (Close #1) et il arrive à Wend => il repart sur
While Not EOF(1) ...
Mais il n'y a plus de fichier n° 1 (fermé) => Erreur

Solution : mettre Close #1 après Wend
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
30 avril 2004 à 11:47
... ou bien
Private Sub Command3_Click()
Dim fin As Boolean
Dim mot1 As String
Dim mot2 As String
fin = False
Open "c:\test2.txt" For Input As #1
Do While Not (EOF(1)) And Not (fin)
'tu les deux lignes par deux lignes
Line Input #1, mot1
Line Input #1, mot2
If UCase$(Trim$(mot1)) = UCase$(Trim$(Text1)) Then
fin = True
Text2.Text = mot2
Close #1
Exit Do
End If
<s>Wend</s>
Loop
End Sub

ou encore

Private Sub Command3_Click()
Dim fin As Boolean
Dim mot1 As String
Dim mot2 As String
fin = False
Open "c:\test2.txt" For Input As #1
While Not (EOF(1)) And Not (fin)
'tu les deux lignes par deux lignes
Line Input #1, mot1
Line Input #1, mot2
If UCase$(Trim$(mot1)) = UCase$(Trim$(Text1)) Then
fin = True
Text2.Text = mot2
Close #1
Exit Sub
End If
Wend
End Sub
0

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

Posez votre question
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
30 avril 2004 à 11:58
... j'ajoute que, dans tous les cas, la variable "fin" est inutile :
dès qu'il a trouvé, on sort du Sub sans chercher plus loin.
Tu peux donc supprimer :
Dim fin As Boolean
fin = False
And Not (fin)
fin = True
0
ephores Messages postés 123 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 5 juin 2007
30 avril 2004 à 12:02
Merci rene38 !!!
t'es un pro !
ça fonctionne comme je le voulais !
un grand merci. ça faisais une semaine que je me tracassais la tete.
0
Djflamouze Messages postés 1 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 14 janvier 2005
14 janv. 2005 à 14:14
Salut moi j'ai la même erreur cette maudite erreur 52 et je ne comprend pas j'ai mi pas mal de msgbox pour décortiquer le problème et je ne voi pas d'ou ca vient.
Car le prog marche très bien s'il est executé à partir de VB alors que si je le compil , si je lance l'exe il me met cette erreur 52. j'ai procédé par élimination en mettant au fur et a mesure des lignes en commentaires mais il veut rien savoir toujours la meme erreur!!!

A la fin j'ai mi tout en commentaire sauf un msgbox puis apres j'ai le end pour faire finir mon prog avant la fin normale mais pareil toujours cette erreur.

En plus faut que ca soit en place avant mardi!!!!
Si quelqun savait de quoi ca peut venir merci de merépondre au plu vite ca serait sympa!!!!
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
14 janv. 2005 à 15:27
Bonjour
Tu dois bien savoir quelle est la procédure (Sub ou Function) qui provoque l'erreur.
Peux-tu indiquer le code de cette procédure ou tout au moins la partie ouverture / lecture / écriture de fichier.
0
Rejoignez-nous