[Ajouter ligne à une position précise] en VB
Utilisateur anonyme
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,
J'ai créer unr procédure permettant d'ajouter une ligne dans un fichier séquentiel à un index donné :
Mais juste avant l'écriture dans le fichier, le débogger indique que el fichier est déjà ouvert malgrés l'instruction:
Quelqu'un peut-il m'aider s'il vous plait ?
Merci beaucoup
J'ai créer unr procédure permettant d'ajouter une ligne dans un fichier séquentiel à un index donné :
Public Sub AjouterLigne(Fichier As String, IndexLigne As Integer, Texte As String)
Dim numfichier As Integer
numfichier = FreeFile
Dim collect As New Collection
Dim lignetemporaire As String
Dim i As Integer
Open Fichier For Input As #numfichier
While Not EOF(numfichier)
Line Input #numfichier, lignetemporaire
collect.Add lignetemporaire
Wend
Close #numfichier
Open Fichier For Output As #numfichier
For i = 1 To collect.Count
Print #numfichier, collect.Item(i)
If i = IndexLigne Then
Print #numfichier, Texte
End If
Next i
Close #numfichier
End Sub
Mais juste avant l'écriture dans le fichier, le débogger indique que el fichier est déjà ouvert malgrés l'instruction:
close #numfichier
Quelqu'un peut-il m'aider s'il vous plait ?
Merci beaucoup
A voir également:
- [Ajouter ligne à une position précise] en VB
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Ma position - Guide
- Formulaire en ligne de meta - Guide
- Ajouter à l'écran d'accueil iphone - Guide
2 réponses
Bonjour,
Les objets collection ne sont valable qu'avec des modules de classe et dans ton exemple je ne pense pas que ce soit le cas (je n'ai pas tout ton code)
de plus, il ne suffit pas de créer une instance d'une collection, il faut l'assigner par un nom...
Set Colect = ???
Je pense que l'erreur vient de là.
Remplace new collection par un tableau
Ou alors donne plus d'explications!
A+
Les objets collection ne sont valable qu'avec des modules de classe et dans ton exemple je ne pense pas que ce soit le cas (je n'ai pas tout ton code)
de plus, il ne suffit pas de créer une instance d'une collection, il faut l'assigner par un nom...
Set Colect = ???
Je pense que l'erreur vient de là.
Remplace new collection par un tableau
Dim TB() as string
Open Fichier For Input As #numfichier
While Not EOF(numfichier)
Redim Preserve TB(i)
Line Input #numfichier,TB(i)
i = i + 1
Wend
Close #numfichier
Ou alors donne plus d'explications!
A+