Probleme VB6

lory -  
 lory -
bonjour forum,

j'ai plusieurs fichiers nommés comme suit:

fichier1,fichier2,............

je voudrais les ouvrir en méme temps, j'ai fait
for index=1 to ..
open "C:fichier&index.txt" for input as #1

mais a chaque fois j'ai le message fichier non trouvé

est ce vous avez une idée?
merci d'avance
A voir également:

32 réponses

teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Salut :o)

bonjour forum Original ;o)

Pour répondre à ta question, il faudrait que tu fasses:

Open "C:\Fichier" & index & ".txt"


Je pense que ça devrait marcher ...

0
Lory
 
salut teebo

pour vérifier si sa marche, j'ai ajouter


Open "C:\Rfichier & index & ".txt" For Output As #2

mé je ne vois pas de fichier rfichier dans C

vous avez une idée?
0
teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Tu as mal recopié ce que j'ai mis, j'ai mis fichier et non pas Rfichier et il manque des " .

Qui plus est j'ai supposé que les fichiers fichier1 fichier2 ,... .txt existaient sur C:\ puisque c'est là que tu cherchais à les ouvrir...
0
lory
 
Re

non j'ai pas mal recopié

il ouvre seulement le premier fichier et il affiche une erreur fichier deja ouvert
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Tu refermes bien les fichiers aussi?

0
lory
 
Re

oui j'ai fait close#2 mais ca ne marche pas
0
teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Bon si tu me mettais tout ton code et si tu me disais ce que tu avais comme fichiers sur C:\ ?
0
lory
 
Re
private sub commmand1_click()
Dim y1 as double
Dim index as integer


for index = 1 To 500
Open "C:\Fichier" & index & ".txt" For Input As #1

Open "C:\RFichier" & index & ".txt" For Output As #2

Do While Not EOF(1)

Line Input #1, Y1

Write #2, Y1

Loop
Next index
Close#2

end Sub


j'ai au niveau de C des fichiers de nom "Fichier1, fichier2,....
0
teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Tu ne peux pas ouvrir deux fois le même fichier 8-)
0
lory
 
re

a chaque index il ouvre le fichier correspodant

j'ai pas vu ce que vous dites; est ce que vous pouvez m'expliquer?
0
teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Open "C:\Fichier" & index & ".txt" For Input As #1

Open "C:\RFichier" & index & ".txt" For Output As #2


Tu ouvres le fichier fichier1.txt deux fois, une fois en input une fois en output...

Normal que ça plante :o)
0
Armojax Messages postés 1860 Date d'inscription   Statut Membre Dernière intervention   1 528
 
Hello lory,

Si je pige bien, tu veux fusionner en un seul fichier tes fichiers 1,2,etc.
Est-ce que ça ne serait pas quelque chose comme ça :
Private Sub commmand1_click()

  Dim y1
  Dim index As Integer
  
  Open "C:\RFichier1.txt" For Output As #2
  For index = 1 To 500
    Open "C:\Fichier" & index & ".txt" For Input As #1
    Do While Not EOF(1)
      Line Input #1, y1
      Write #2, y1
    Loop
    Close #1
  Next index
  Close #2

End Sub
0
lory
 
Re

le Open "C:\Fichier" & index & ".txt" For Input As #1

c'est pour ouvrir le fichier qui a les donnée et le

Open "C:\RFichier" & index & ".txt" For Output As #2
c'est por crée un fichier de non RFichier ou on met les donnée du premier fichier
0
teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Oui pardon j'ai mélangé avec python (je crois,...)

Armojax a raison par contre...
0
lory
 
Re

armojax, je veux pas fusionner mes fichiers.

je vais vous expliquer:


j'ai plusieurs fichier nommée fichier1, fichier2,.....

le programme que j'ai fait traite seulement un fichier et mettre le resultat dans RFichier; jusqu'a la ca va.

puissque mes fichiers se différent par les indexs, je voudrais que le programme traite tous les fichiers en meme temps
0
Armojax Messages postés 1860 Date d'inscription   Statut Membre Dernière intervention   1 528
 
Re, lory

Ce que j'avais cru comprendre, c'est que tu voulais lire, dans une même macro, Fichier1 et le copier dans Rfichier, puis lire Fichier2 et l'écrire à la suite dans Rfichier, et ainsi de suite jusqu'à FichierN, pour avoir dans Rfichier tous les fichiers mis bout à bout.
Hébé si c'est pas ça, remets une couche d'explications, je pige pas...
0
lory
 
non c'est pas ce que vous avez crue.

ce que je veux c'est:

j'ouvre le fichier1 et le met dans RFichier1, Fichier2 dans Rfichier2,........., fichierN dans RfichierN
0
Armojax Messages postés 1860 Date d'inscription   Statut Membre Dernière intervention   1 528
 
OK, pigé.
Dans ce cas, réintègre à l'intérieur de la boucle l'Open et le Close de #2, couplés avec ceux de #1.
0
teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Tu ne peux pas faire une copie du fichier directement ? 8-)

Bon, tu n'as pas un éditeur de texte d'ouvert sur un des fichiers en plus?
0
lory
 
armojax

c'est ce aue je faisait, mais tjrs l'erreurs fichier deja ouvert persiste
0
lory
 
merci teebo, armojax et forum j'ai regler l'erreur
0
lory
 
bonjour forum,

j'ai un petit soucis sur mon programme car s'il trouve pas le premier fichier , j'ai un message d'erreur
est ce que quelqu'un a une idée comme quoi que s'il trouve pas le premier fichier, il exécute les autres
merci


Private Sub commmand1_click()

Dim y1
Dim index As Integer
For index = 1 To 500

Open "C:\Fichier" & index & ".txt" For Input As #1
Open "C:\RFichier"&index&".txt" For Output As #2
Do While Not EOF(1)
Line Input #1, y1
Write #2, y1
Loop
Close #1
Next index
Close #2

End Sub
0
teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Private Sub commmand1_click()
OnError resume prochain

Dim y1
Dim index As Integer
index=1
While index<501
Open "C:\Fichier" & index & ".txt" For Input As #1
Open "C:\RFichier"&index&".txt" For Output As #2
Do While Not EOF(1)
Line Input #1, y1
Write #2, y1
Loop
Close #1
Next index
Close #2
:prochain
index=index+1
End Sub

Bon j'ai pas compilé donc y'a peut être des ajustements à faire mais l'idée est là...Tu pourrais aussi placer le :prochain devant la fermeture des fichiers mais tu risque de reavoir une erreur si le fichier n'est pas ouvert, ou alors il faut tester l'ouverture du fichier avant de les fermer...
0
lory
 
Re

ca ne marche pas, a chaque fois qu'il ne trouve pas le premier fichier
0
lory
 
merci teebo et forum ca marche maintenant
0