[Ajouter ligne à une position précise] en VB
Utilisateur anonyme
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
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
- Aller à la ligne excel - Guide
- Formulaire en ligne de meta - 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+