Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionOpen App.Path & "MON FICHIER" For Input As #1
Open App.Path & "\Espion-" & Text1.Text & "-Save.ini" For Output As #2
Do while not EOF(1)
i = i + 1
Input #1, valeur
if i = ligne then valeur = "NOUVELLE VALEUR"
Write #2, valeur
loop
close #1
Close #2
If Dir(App.Path + "\Espion-" & Form16.Text1.Text & "-Save.ini", vbHidden) <> "" Then
Open App.Path & "\Espion-" & Form16.Text1.Text & "-Save.ini" For Input As #1
Dim Var1
Dim Var2
Dim Var3
Dim Var4
Input #2, Var1
Input #2, Var2
Input #2, Var3
Input #2, Var4
Text1.Text = Var1
Text2.Text = Var2
Text3.Text = Var3
Text4.Text = Var4
Close #1
i = 0
ligne = 3
Open App.Path & "\Espion-" & Text1.Text & "-Save.ini" For Input As #1
Do While Not EOF(1)
i = i + 1
Input #1, valeur
If i = ligne Then Exit Do
Loop
Close #1
Je dois réécrire toutes mes lignes et changer celle que je veux a ce moment la ?
Il te faut donc ouvrir à la fois le fichier en lecture (comme tu l'as fait) et en ouvrir un second (nommes-le comme tu l'entends) en écriture (For Output au lieu de For Input)
Private Sub Command1_Click()
'juste pour constituer un petit fichier texte
Open "c:\voila.txt" For Output As #1
For i = 1 To 10
Write #1, "a" & i
Next
Close #1
MsgBox "va voir (dans l'explorateur) ce que tu y a écrit, puis ferme-le"
End Sub
Private Sub Command2_Click()
ligne = 3
Open "c:\voila.txt" For Input As #1
Open "c:\voilacopie.txt" For Output As #2
Do While Not EOF(1)
i = i + 1
Input #1, article
If i = ligne Then article = "coucou"
Write #2, article
Loop
Close #1
Close #2
Kill "c:\voila.txt"
Name "c:\voilacopie.txt" As "c:\voila.txt"
MsgBox "va voir (dans l'explorateur) ce qui yest maintenant écrit, puis ferme-le"
End Sub
Private Sub Command2_Click()
ligne = 3
Open "c:\voila.txt" For Input As #1
Open "c:\voilacopie.txt" For Output As #2
Do While Not EOF(1)
i = i + 1
Input #1, article
If i = ligne Then article = "coucou"
Write #2, article
Loop
Close #1
Close #2
Kill "c:\voila.txt"
Name "c:\voilacopie.txt" As "c:\voila.txt"
MsgBox "va voir (dans l'explorateur) ce qui yest maintenant écrit, puis ferme-le"
End Sub
Résumons : un fichier texte écrit par Write est lu par Input. Un fichier texte écrit par Print est lu par Line Input.
Et ce n'est pas la même chose !
Montre ici quelques lignes de ton fichier texte. Que l'on connaisse sa structure et que l'on sache s'il a été écrit par Write ou par Print.
Open App.Path + "\MON FICHIER.txt" For Output As #1
Print #1, Text1.text
close #1
Dim Var1
Open App.Path & "\MON FICHIER.txt" For Input As #2
Input #2, Var1
Text1.Text = Var1
Close #2
Private Sub Command1_Click()
'juste pour constituer un petit fichier texte
Open "c:\voila.txt" For Output As #1
For i = 1 To 10
Print #1, "a" & i
Next
Close #1
MsgBox "va voir (dans l'explorateur) ce que tu y a écrit, puis ferme-le"
End Sub
Private Sub Command2_Click()
ligne = 3
Open "c:\voila.txt" For Input As #1
Open "c:\voilacopie.txt" For Output As #2
Do While Not EOF(1)
i = i + 1
Line Input #1, article
If i = ligne Then article = "coucou"
Print #2, article
Loop
Close #1
Close #2
Kill "c:\voila.txt"
Name "c:\voilacopie.txt" As "c:\voila.txt"
MsgBox "va voir (dans l'explorateur) ce qui yest maintenant écrit, puis ferme-le"
End Sub
Private Sub Command2_Click()
ligne = 3
Open "c:\voila.txt" For Input As #1
toutlu = Input(LOF(1), #1) ' ====>> on lit tout le fichier d'un seul coup dans toutlu
Close #1
titi = Split(toutlu, vbCrLf) ' =====>> on "éclate" toutlu dans un array
titi(ligne - 1) = "coucou" ' ====>> on modifie le 3ème élément de cet array
Open "c:\voila.txt" For Output As #1
Print #1, Join(titi, vbCrLf); '====>> on écrit par Print le "rassemblement" (par Join)
Close #1
End Sub