Fichier en cours d'utilisation [Résolu]

cs_got 139 Messages postés lundi 7 janvier 2002Date d'inscription 15 mars 2016 Dernière intervention - 25 janv. 2006 à 18:23 - Dernière réponse : cs_dary 1 Messages postés jeudi 15 juillet 2004Date d'inscription 24 octobre 2006 Dernière intervention
- 24 oct. 2006 à 20:41
Bonjour,

voici le code qui me pose souci :

Retry:
On Error GoTo err_open

If New_File Then
filenumber_1 = FreeFile
Open Chemin_Data & Nom_Fichier_Data For Output As #filenumber_1
Else
filenumber_1 = FreeFile
Open Chemin_Data & Nom_Fichier_Data For Append As #filenumber_1
End If
Exit Function
err_open:
MsgBox "Erreur d'ouverture de fichier. Fermer le fichier et appuyer sur Ok", vbOKOnly
On Error GoTo 0
GoTo Retry


mon probleme est que lorsque j'essai d'ouvrir un fichier déja ouvert le gestionnaire d'erreur m'intercepte bien le probleme la premiere fois mais ensuite lors du "retry" il m'afffiche une erreur VB et non l'erreur de ma msgbox

Quelqu'un aurait il une solution ou une meilleur maniere de gerer tout ça?
Merci
Afficher la suite 

7 réponses

Meilleure réponse
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 25 janv. 2006 à 20:00
3
Merci
faut faire un Resume pour supprimer l'erreur

mais si l'erreur persiste, ça risque de boucler.







On Error GoTo err_open


Retry:
If New_File Then
filenumber_1 = FreeFile
Open Chemin_Data & Nom_Fichier_Data For Output As #filenumber_1
Else
filenumber_1 = FreeFile
Open Chemin_Data & Nom_Fichier_Data For Append As #filenumber_1
End If
Exit Function

err_open:
MsgBox "Erreur d'ouverture de fichier. Fermer le fichier et appuyer sur Ok", vbOKOnly
Resume Retry



Daniel

Merci Gobillot 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Meilleure réponse
crenaud76 4172 Messages postés mercredi 30 juillet 2003Date d'inscription 9 juin 2006 Dernière intervention - 25 janv. 2006 à 21:18
3
Merci
Ou encore plus simplement ...

On Error GoTo err_open

filenumber_1 = FreeFile
If New_File Then
Open Chemin_Data & Nom_Fichier_Data For Output As #filenumber_1
Else
Open Chemin_Data & Nom_Fichier_Data For Append As #filenumber_1
End If
Exit Function

err_open:
MsgBox "Erreur d'ouverture de fichier. Fermer le fichier et appuyer sur Ok", vbOKOnly
Resume

... mais effectivement ca risque de boucler !! Faudrait faire un compteur avec un nb possible de tentative ...

CR
CR

Merci crenaud76 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

crenaud76 4172 Messages postés mercredi 30 juillet 2003Date d'inscription 9 juin 2006 Dernière intervention - 25 janv. 2006 à 18:35
0
Merci
Salut,
1- Il faudrait que tu nous donne le code erreur que tu recois ...
2- ohhh!!! Le vilain "Goto" !!! C'est pas bien du tout ca !!! Plus sérieusement, il vaut mieux eviter d'utiliser l'isntruction "Goto" en VB, qui n'existe que pour des raisons historiques, mais n'a pas lieu d'être.
cs_got 139 Messages postés lundi 7 janvier 2002Date d'inscription 15 mars 2016 Dernière intervention - 25 janv. 2006 à 19:22
0
Merci
oui je sais c'est pas bien le goto. Mais je voyai pas trop comment faire simplement pour ce genre de probleme... Je n'ai pas le code d'erreur exact mais ça dit en gros que je ne peu pas ouvrir le fichier. Et ceci arrive quand il est déja ouvert par une autre application.
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 25 janv. 2006 à 21:46
0
Merci
c'est bien ce que j'avais mis, un compteur pour éviter de boucler.

mais avec Resume seul, ça n'a pas manquer, boucle infinie ... arrêt Vb

le Resume reprend l'instruction en cours, il faut donc mettre le compteur dans la procédure d'erreur.

il faudrait aussi tester qu'elle est l'erreur parce que parfois on a des surprises:

MsgBox Err.Number & ": " & Err.Description




Daniel
cs_got 139 Messages postés lundi 7 janvier 2002Date d'inscription 15 mars 2016 Dernière intervention - 26 janv. 2006 à 08:52
0
Merci
nickel ça marche comme je voulais. Le fait que ça reboucle et justement voulu tant que l'utilisateur n'a pas fermé le fichier le message doit s'afficher...

Merci à vous deux .. ;-)
cs_dary 1 Messages postés jeudi 15 juillet 2004Date d'inscription 24 octobre 2006 Dernière intervention - 24 oct. 2006 à 20:41
0
Merci
j'arrive pas a ouvrir la base de donnees access à partir de mon poste si elle est deja ouverte sur un autre poste.
l'utilisation de:
Set Base = Workspaces(0).OpenDatabase(Chemin)
provoque le message "impossible d'utiliser ...............; fichier en cours d'utilisation.
Merci pour l'aide.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.