Erreur sur fonction : For Output

Signaler
Messages postés
1
Date d'inscription
vendredi 2 avril 2004
Statut
Membre
Dernière intervention
23 février 2007
-
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
-
Bonjour,
Sur un portable dans un code VBA j'ai une erreur sur la ligne :
Open "C:\temp\toto" For Output As #2    (Fichier inexistant)

Alors que sur d'autre ordinateur il n'y a pas de soucis (comme si il y avait un problème de droit sur le répertoire ce qui n'est pas le cas)

Version Microsoft Visual basic 6.3

Si quelqu'un a la réponse cela m'aiderait bien

Merci

JCG

5 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Puisque ce n'est pas un problème de droit, le fichier est peut-etre déjà utiliser par un autre process.

Ou alors le répertoire n'existe pas

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Quel est le message d'erreur ?

Termines-tu bien ton ouverture/écriture par un Clis # 2 ?
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
pardon lire Close # 2, bien sur.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
79
Salut JC
Quand on ouvre un fichier, on spécifie un numéro d'ordre (le #2).
Si ce numéro est déjà utilisé, c'est à dire que tu as déjà fait un Open avec ce numéro ET que tu ne l'as pas refermé, tu as une erreur.
La méthode a adopter est de laisser VB décider du numéro à utiliser (à faire avant de faire le Open) :
Dim ff As Integer
ff = FreeFile
Open "C:\Temp\Toto.txt" For Output #ff
...
Close #ff
Sinon, comme l'a dit jmfmarques, vérifie que tu avais bien fermé le précédent fichier ouvert avec ce numéro #2 car ma solution ne résoud pas tout, il faut être méticuleux.

Conseil : Essaye de mettre des extensions à tes fichiers (Toto.txt), sinon, tu auras des problèmes pour les ouvrir avec d'autres logiciels

Sinon, précise nous quelle erreur (numéro et texte) tu obtiens. La solution diffère selon l'erreur

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Pour etre sur de fermer tous les fichiers, au lieu d'utiliser Close #n°du fichier, il faut utiliser Close tout seul.

Close tout seul, ferme tous les fichiers préalablement ouverts avec une instruction Open. Au moment de l'utilisation, il faut etre sur de ne plus avoir besoin de garder des fichiers ouverts.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #