Problème d'acces à un fichier

kivis67 Messages postés 7 Date d'inscription jeudi 17 mars 2011 Statut Membre Dernière intervention 22 mars 2011 - 21 mars 2011 à 16:52
kivis67 Messages postés 7 Date d'inscription jeudi 17 mars 2011 Statut Membre Dernière intervention 22 mars 2011 - 22 mars 2011 à 10:11
Bonjour à tous,

Je suis à la recherche d'une solution pour mon petit programme.
Voici ce qu'il réalise :
1. Je sélectionne des fichiers
2. Le programme les envois à 1 destinataire unique ( 1 mail un fichier en pièce jointe)
3. Le programme trie chaque fichier dans un répertoire.

Mon problème c'est que l'étape 1 et 2 c'est ok mais à l'étape 3 le programme me dit (System.io.ioExcpetion Le processus ne peut pas accéder au fichier, car il est utilisé par un autre processus. )

Voici le code de ma 3ème partie .


Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim chemindossier As String
Dim longueurchaine As String
Dim laconstante As String
Dim letest As String
Dim lavaleur3 As String

For L = 0 To ListBox1.Items.Count - 1

lavaleur3 = CStr(ListBox1.Items(L))

chemindossier = lavaleur3
longueurchaine = Len(chemindossier)
laconstante = Mid(chemindossier, 30, longueurchaine)
letest = Microsoft.VisualBasic.Left(laconstante, 2)

If letest = "11" Then
My.Computer.FileSystem.MoveFile(chemindossier, "G:\dossier" & laconstante)
ElseIf letest = "37" Then
My.Computer.FileSystem.MoveFile(chemindossier,"G:\dossier\37" & laconstante)
ElseIf letest = "72" Then
My.Computer.FileSystem.MoveFile(chemindossier, "G:\dossier\72" & laconstante)
End If


Next
End Sub
End Class


Je vous remercie !

4 réponses

kivis67 Messages postés 7 Date d'inscription jeudi 17 mars 2011 Statut Membre Dernière intervention 22 mars 2011
21 mars 2011 à 17:09
Je précise que , le programme s'arrête. M'indique l'erreur puis si j'appuie à nouveau sur executer , il m'execute ma commande , à savoir l'archivage dans des dossiers de mes fichiers.

Quelqu'un aurait il une idée ?

Merci
0
Utilisateur anonyme
21 mars 2011 à 17:39
Salut,
Si tu peux effectuer l'étape 3 après un délai, c'est que le le fichier à déplacer n'est pas libéré par ce qui se passe dans les opérations précédentes ou qu'un autre process n'a pas libéré le fichier au moment où tu clique sur ton bouton3.
Utilise les blocs Try Catch pour remédier à ce problème.

Remarque: utilise SubString plutôt que Mid couplé à LastIndexOf (ceci t'évitera des tas de lignes de codes inutiles)
0
kivis67 Messages postés 7 Date d'inscription jeudi 17 mars 2011 Statut Membre Dernière intervention 22 mars 2011
22 mars 2011 à 09:25
Bonjour ,

Merci de votre réponse , en effet la première partie de mon code permet de générer une listbox des fichiers que j'ai selectionné , puis la seconde partie d'envoyer chaqu'un de ces fichiers à une adresse mail , ( 1 mail + une pièce jointe ) .

Existe t il un moyen de "fermer" l'utilisation de ces fameux fichiers PJ ? Ou par exemple de créer un Form2 où je copierai ma Listbox et fermerai ma page principale pour fermer l'utilisation aux fichiers ???

Je ne connais pas l'instruction Try Catch , je vais m'y pencher dessus.

Merci de votre aide
0
kivis67 Messages postés 7 Date d'inscription jeudi 17 mars 2011 Statut Membre Dernière intervention 22 mars 2011
22 mars 2011 à 10:11
Bonjour ,

Je suis désolé mais je n'arrive pas à utiliser l'unstruction Try Catch ....

Surtout je ne sais pas trop où l'inserer ?

Merci de votre comprehension .
0
Rejoignez-nous