Lorsque j'essai d'ecire dans un fichier texte, voici l'erreur que j'ai :
L'entée dépasse la fin du fichier
Voici mon compte
Dim InputFichier As String
InputFichier = lblFichier.Caption
Open "D:\Visual Basic\temp\essai.txt" For Input As #i
Input #i, InputFichier
Debug.Print InputFichier
Sachant que lblFichier.Caption est un suite de caractere avec des retour à
la ligne !
Merci de me dire ce qu'il faut que je modifi dans mon code pour que ca
marche !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zoury
Salut Jean-Michel! :O)
1. L'ouverture en mode Input permet la lecture et non l'écriture... il faut comprendre Input pour le programme VB et non pour le fichier... ;O) 2. N'oublie pas de fermer ton fichier suite à l'écriture à l'aide de la méthode Close(). 3. Dans ton code la variable InputFichier ne sert à rien. Tu peux passe lblFichier.Caption directement. 3. Quelle est la valeur de i et comment est-elle définie? Regarde mon exemple et l'utilisation de la fonction FreeFile() si ce n'est pas déjà ce que tu fais.
Maintenant pour que ton code fonctionne, tu dois ouvrir le fichier en mode Output ou Binary. Étant donnée que tu as déjà tout le texte à écrire en ta possesion, le mode Binary est plus rapide. Note que le fichier sera créer automatiquement s'il n'existe pas et écrasé s'il existe..
Ex : '*** Option Explicit
Private Sub Form_Load() Call EcrireFichier("D:Visual Basictempessai.txt", lblFichier.Caption) End Sub
Private Sub EcrireFichier(ByRef sFichier As String, ByRef sTexte As String)
Dim hFile As Long
hFile = FreeFile Open sFichier For Binary As #hFile Put #hFile, , sTexte Close hFile
Merci de poster les réponses au groupe afin d'en faire profiter à tous
Salut Jean-Michel! :O)
1. L'ouverture en mode Input permet la lecture et non l'écriture... il faut
comprendre Input pour le programme VB et non pour le fichier... ;O)
2. N'oublie pas de fermer ton fichier suite à l'écriture à l'aide de la
méthode Close().
3. Dans ton code la variable InputFichier ne sert à rien. Tu peux passe
lblFichier.Caption directement.
3. Quelle est la valeur de i et comment est-elle définie? Regarde mon
exemple et l'utilisation de la fonction FreeFile() si ce n'est pas déjà ce
que tu fais.
Maintenant pour que ton code fonctionne, tu dois ouvrir le fichier en mode
Output ou Binary. Étant donnée que tu as déjà tout le texte à écrire en ta
possesion, le mode Binary est plus rapide. Note que le fichier sera créer
automatiquement s'il n'existe pas et écrasé s'il existe..
Ex :
'***
Option Explicit
Private Sub Form_Load()
Call EcrireFichier("D:Visual Basictempessai.txt", lblFichier.Caption)
End Sub
Private Sub EcrireFichier(ByRef sFichier As String, ByRef sTexte As String)
Dim hFile As Long
hFile = FreeFile
Open sFichier For Binary As #hFile
Put #hFile, , sTexte
Close hFile
1. L'ouverture en mode Input permet la lecture et non l'écriture... il faut comprendre Input pour le programme VB et non pour le fichier... ;O) 2. N'oublie pas de fermer ton fichier suite à l'écriture à l'aide de la méthode Close(). 3. Dans ton code la variable InputFichier ne sert à rien. Tu peux passe lblFichier.Caption directement. 3. Quelle est la valeur de i et comment est-elle définie? Regarde mon exemple et l'utilisation de la fonction FreeFile() si ce n'est pas déjà ce que tu fais.
Maintenant pour que ton code fonctionne, tu dois ouvrir le fichier en mode Output ou Binary. Étant donnée que tu as déjà tout le texte à écrire en ta possesion, le mode Binary est plus rapide. Note que le fichier sera créer automatiquement s'il n'existe pas et écrasé s'il existe..
Ex : '*** Option Explicit
Private Sub Form_Load() Call EcrireFichier("D:Visual Basictempessai.txt", lblFichier.Caption) End Sub
Private Sub EcrireFichier(ByRef sFichier As String, ByRef sTexte As String)
Dim hFile As Long
hFile = FreeFile Open sFichier For Binary As #hFile Put #hFile, , sTexte Close hFile
Merci de poster les réponses au groupe afin d'en faire profiter à tous
Jean-Michel
Parfait, ca marche, merci pour cette fonction que je vais utiliser partout !
Jean-Michel
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message news:
Salut Jean-Michel! :O)
1. L'ouverture en mode Input permet la lecture et non l'écriture... il
faut
comprendre Input pour le programme VB et non pour le fichier... ;O) 2. N'oublie pas de fermer ton fichier suite à l'écriture à l'aide de la méthode Close(). 3. Dans ton code la variable InputFichier ne sert à rien. Tu peux passe lblFichier.Caption directement. 3. Quelle est la valeur de i et comment est-elle définie? Regarde mon exemple et l'utilisation de la fonction FreeFile() si ce n'est pas déjà ce que tu fais.
Maintenant pour que ton code fonctionne, tu dois ouvrir le fichier en mode Output ou Binary. Étant donnée que tu as déjà tout le texte à écrire en ta possesion, le mode Binary est plus rapide. Note que le fichier sera créer automatiquement s'il n'existe pas et écrasé s'il existe..
Ex : '*** Option Explicit
Private Sub Form_Load() Call EcrireFichier("D:Visual Basictempessai.txt",
lblFichier.Caption)
End Sub
Private Sub EcrireFichier(ByRef sFichier As String, ByRef sTexte As
String)
Dim hFile As Long
hFile = FreeFile Open sFichier For Binary As #hFile Put #hFile, , sTexte Close hFile
Merci de poster les réponses au groupe afin d'en faire profiter à tous
Parfait, ca marche, merci pour cette fonction que je vais utiliser partout !
Jean-Michel
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message news:
u40MVp7pDHA.3616@tk2msftngp13.phx.gbl...
Salut Jean-Michel! :O)
1. L'ouverture en mode Input permet la lecture et non l'écriture... il
faut
comprendre Input pour le programme VB et non pour le fichier... ;O)
2. N'oublie pas de fermer ton fichier suite à l'écriture à l'aide de la
méthode Close().
3. Dans ton code la variable InputFichier ne sert à rien. Tu peux passe
lblFichier.Caption directement.
3. Quelle est la valeur de i et comment est-elle définie? Regarde mon
exemple et l'utilisation de la fonction FreeFile() si ce n'est pas déjà ce
que tu fais.
Maintenant pour que ton code fonctionne, tu dois ouvrir le fichier en mode
Output ou Binary. Étant donnée que tu as déjà tout le texte à écrire en ta
possesion, le mode Binary est plus rapide. Note que le fichier sera créer
automatiquement s'il n'existe pas et écrasé s'il existe..
Ex :
'***
Option Explicit
Private Sub Form_Load()
Call EcrireFichier("D:Visual Basictempessai.txt",
lblFichier.Caption)
End Sub
Private Sub EcrireFichier(ByRef sFichier As String, ByRef sTexte As
String)
Dim hFile As Long
hFile = FreeFile
Open sFichier For Binary As #hFile
Put #hFile, , sTexte
Close hFile
Parfait, ca marche, merci pour cette fonction que je vais utiliser partout !
Jean-Michel
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message news:
Salut Jean-Michel! :O)
1. L'ouverture en mode Input permet la lecture et non l'écriture... il
faut
comprendre Input pour le programme VB et non pour le fichier... ;O) 2. N'oublie pas de fermer ton fichier suite à l'écriture à l'aide de la méthode Close(). 3. Dans ton code la variable InputFichier ne sert à rien. Tu peux passe lblFichier.Caption directement. 3. Quelle est la valeur de i et comment est-elle définie? Regarde mon exemple et l'utilisation de la fonction FreeFile() si ce n'est pas déjà ce que tu fais.
Maintenant pour que ton code fonctionne, tu dois ouvrir le fichier en mode Output ou Binary. Étant donnée que tu as déjà tout le texte à écrire en ta possesion, le mode Binary est plus rapide. Note que le fichier sera créer automatiquement s'il n'existe pas et écrasé s'il existe..
Ex : '*** Option Explicit
Private Sub Form_Load() Call EcrireFichier("D:Visual Basictempessai.txt",
lblFichier.Caption)
End Sub
Private Sub EcrireFichier(ByRef sFichier As String, ByRef sTexte As
String)
Dim hFile As Long
hFile = FreeFile Open sFichier For Binary As #hFile Put #hFile, , sTexte Close hFile