Fichier en cours d'utilisation

Résolu
cs_got Messages postés 139 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 15 mars 2016 - 25 janv. 2006 à 18:23
cs_dary Messages postés 1 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 24 octobre 2006 - 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

7 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
25 janv. 2006 à 20:00
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
3
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
25 janv. 2006 à 21:18
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
3
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
25 janv. 2006 à 18:35
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.
0
cs_got Messages postés 139 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 15 mars 2016
25 janv. 2006 à 19:22
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.
0

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

Posez votre question
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
25 janv. 2006 à 21:46
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
0
cs_got Messages postés 139 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 15 mars 2016
26 janv. 2006 à 08:52
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 .. ;-)
0
cs_dary Messages postés 1 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 24 octobre 2006
24 oct. 2006 à 20:41
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.
0
Rejoignez-nous