ephores
Messages postés123Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention 5 juin 2007
-
30 avril 2004 à 11:02
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 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.
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 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
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 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
Djflamouze
Messages postés1Date d'inscriptionjeudi 13 janvier 2005StatutMembreDernière intervention14 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!!!!
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 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.