FONCTION AJOUT OU SUPPRESSION DE LIGNE DANS UN FICHIER

pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 - 24 nov. 2003 à 14:05
soundpanther Messages postés 68 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 31 janvier 2009 - 22 nov. 2007 à 13:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18179-fonction-ajout-ou-suppression-de-ligne-dans-un-fichier

soundpanther Messages postés 68 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 31 janvier 2009
22 nov. 2007 à 13:28
Bonjour

j'ai une erreur ?

Erreur d 'exécution '62 :
Lentrée dépasse la fin de fichier

Merci
Skyrats Messages postés 7 Date d'inscription dimanche 19 septembre 2004 Statut Membre Dernière intervention 13 septembre 2009
4 sept. 2007 à 10:34
Un tout grand merci pour cette source qui m'a plus que aidé.
Ca fonctionne parfaitement bien.
Fabfort Messages postés 1 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 6 juillet 2006
6 juil. 2006 à 11:59
Merci pour le code.
Néanmoins, cela me fait une ligne vierge en dernière ligne, et lorsque je rajoute un élément à mon fichier, il est rajouté après cette ligne vierge (donc j'ai un trou dans ma liste).
Quelqu'un pourrai m'éclairer?
Merci d'avance...
seudo Messages postés 2 Date d'inscription mardi 30 mai 2006 Statut Membre Dernière intervention 1 juin 2006
1 juin 2006 à 13:34
salut!j'ai bien regarder le code et il a l'air bien mais je ne l'ai pas essayer.Par contre j'ai petit soucis:j'ai une application en VB qui les trains et j'utilise un fichier texte pour stocker les informations.Et quand j'essaye de rechercher des informations pour etre affichées dans un formulaire,il ne m'affiche que le dernier enregistrement,je sais pas comment faire car je suis debutant en VB.voici donc le code que j'ai utilisé:

Private Sub Form_Load()
Open "C:\TRAIN.txt" For Input As 1 'on ouvre le fichier à analyser
Text_numtrain.Text = Text_numtrain
'Text_code_miss.Text = Text_code_miss
'Text_heure_de.Text = Text_heure_de
'Text_heure_ar.Text = Text_heure_ar
'Text_num_quai.Text = Text_num_quai
'Text_depart.Text = Text_depart
'Text_dest.Text = Text_dest
'Text_dat.Text = Text_dat
Do Until EOF(1)
Line Input #1, tmp Text_numtrain.Text = tmp

Loop
Close #1
End Sub
Si quelqu'un peut bien m'aider,Merci.
cs_DAHOKHAN Messages postés 20 Date d'inscription mercredi 19 octobre 2005 Statut Membre Dernière intervention 12 décembre 2005
26 oct. 2005 à 22:51
super ta source mieux que celle expliquer par chillboy007
j'ai utiliser les deux la tienne est plus simple.
Et plus sure a mon avis
merci car ta source ma sorti une epine du pied.
ceci dis pense un peu a newbi comme moi
car quand tu met varfic je me demande d'ou sa sort au faite c'est varfichier et ça marche tres bien !!!!
merci by by !!!!!
alex102 Messages postés 37 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 4 janvier 2005
24 août 2004 à 09:57
salut
bravo pour ton programe mais j'ai un problème pour la supression
ca ne marche pas à la compilation il me met argument non falcutatif
pourtant je remplace bien dans les open fichier par le chemin du fichier

si vous savez pourquoi merci
cs_Pestouille Messages postés 58 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 30 octobre 2008
26 févr. 2004 à 16:15
Félicitations pour ton programme il m'est très utile !!

@+
chillboy007 Messages postés 47 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 19 juin 2004
24 déc. 2003 à 19:17
Y a plus simple pour supprimmer :
tu ouvre le fichier en lecture, et un autre temporaire en écriture (input/output)

tu fait un do..loop until eof(#) et en même temps tu transcrit chaque ligne dans le fichier temps, à l'exception de celle à supprimmer, à la fin tu renomme

----------

dim path, fichier, ligne, supp as string

path = "chemin"
fichier = "fichier"
supp = "ligne à supprimmer"

open path & fichier for input as #1
open path & "temp" & fichier for output as #2
do
input #1, ligne
if ligne <> supp then
print #2, ligne
end if
loop until eof(1)
close #1, #2

kill path & fichier
name path & "temp" & fichier as path & fichier

simple non ?
enfin.. c une idée que j'ai eu dans un de mes progs
philoo91 Messages postés 46 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 13 juillet 2009
25 nov. 2003 à 08:19
En effet, le code a le mérite d'être simple.
Peut être un peu trop.
Du coup pour les fichiers texte (selon le code employé) gros très gros,
les algos cités dans les routines ne passent plus car on va être en débordement de capacité sur les variables de buffer lecture / écriture
(référence à la variable : VarFichier )
De plus fixer le numéro de canal avec une constante pas bon
Il faudrait utiliser "freefile" ex :

Dim Canal as Integer
Canal = FREEFILE
Open Fichier For Output As Canal
Print #Canal, Varfichier
Close #Canal

Pour un début ça va.
cs_Sipadan Messages postés 125 Date d'inscription lundi 5 août 2002 Statut Membre Dernière intervention 23 novembre 2011
25 nov. 2003 à 07:14
J'ai pas essayé, mais je suis sur que se sera utile.
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
24 nov. 2003 à 14:05
Si vous avez une idée de fonction sur fichier que je n'ai pas abordé, dite le moi. J'essaierai de mettre a jour!!!!
Rejoignez-nous