Fichier en cours d'utilisation [Résolu]

Signaler
Messages postés
139
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
15 mars 2016
-
Messages postés
1
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
24 octobre 2006
-
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

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
28
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
26
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
26
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.
Messages postés
139
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
15 mars 2016

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.
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
28
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
Messages postés
139
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
15 mars 2016

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 .. ;-)
Messages postés
1
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
24 octobre 2006

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.