Bonjour,

je suis en train de finaliser mon appplication et je tombe sur le probleme suivant

je dois envoyer un fichier de confirmation de livraison , donc mon code execute les taches suivantes:
1. il definit quelques variables (construction du nom de fichier, les @ email etc.)
2. il créé le fichier sur base du nom construit plus haut passer en parametre
3. il ecrit dans le fichier le resultat d'une requete
4. il créé un message Outlook et envoi le fichier créé en pj

le problème que j'ai est que ce fichier est vide et quand dans l'explorateur windows j'essaie d'ouvrir le fichier il me met que
exped280115102449.csv est verrouillé pour modification par un "autre utilisateur"
donc je dirai a priori que c'est la tache d'ecriture qui verrouille encore le fichier . ce qu'il faudrait c'est que mon code puisse "fermer le fichier et l'enregistrer" mais je seche un peu.

votre aide serait particulierement apprecié

Merci d'avance
G.

voici le code de création du fichier (pris sur le site developpez)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Function CreerFichier(ByVal sPath As String)
   'Code pris sur www.developpez.com tous droits reservés
    Dim fso As FileSystemObject
    Set fso = CreateObject("Scripting.FileSystemObject")
    fso.CreateTextFile sPath
    Set fso = Nothing
End Function
et voici mon code qui fait ma tambouille
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Private Sub btnBrsMitCfrmChgt_Click()
 
'1. définition des variables
    'Envoi par mail des vehicules expediés @ edi-EXPFIC@exploit.lv.groupecat.com
    Dim ediexpmail As String
    Dim sTime As String
    Dim sFile As String
    ediexpmail = "edi-EXPFIC@exploit.lv.groupecat.com"
    sTime = Left(Date, 2) & Mid(Date, 4, 2) & Right(Date, 2) & Left(Time, 2) & Mid(Time, 4, 2) & Right(Time, 2)
    sFile = DatabasePath & "\FTP\exped" & sTime & ".csv"
 
'2. Creer le fichier
    CreerFichier (sFile)
 
'3. Erire dans le fichier
 
     'déclaration des variables
    Dim NumFic, i As Integer
    Dim NomFichier As String
    Dim requete As String           'requete avec les trois champs
    Dim ARA As Recordset        ' resultat de la requete
    Dim db As Object                 'base de donnée
 
    'ouverture du fichier cible
     NumFic = FreeFile
     'NomFichier = "toto.txt"
     Open sFile For Output As NumFic
 
    requete = "SELECT IIf([rEnvoiARA]![TransitMachelen]=False,([rEnvoiARA]![DEPART] & "";"" & [rEnvoiARA]![Enlevement] & "";"" & [rEnvoiARA]![Cde Tpteur Enlvt] & "";"" & [rEnvoiARA]![ImmatEnlevement] & "";"" & ""RO"" & "";"" & "";"" & [rEnvoiARA]![N°Cde Enlvt] & "";"" & [rEnvoiARA]![Parc Enlvt] & "";"" & "";"" & "";"" & [rEnvoiARA]![ARRIVEE] & "";"" & [rEnvoiARA]![VIN]),([rEnvoiARA]![DEPART] & "";"" & [rEnvoiARA]![Enlevement] & "";"" & [rEnvoiARA]![Cde Tpteur Enlvt] & "";"" & [rEnvoiARA]![ImmatEnlevement] & "";"" & ""RO"" & "";"" & "";"" & [rEnvoiARA]![N°Cde Enlvt] & "";"" & [rEnvoiARA]![Parc Enlvt] & "";"" & "";"" & "";"" & ""CIM0002A"" & "";"" & [rEnvoiARA]![VIN])) AS ARA From rEnvoiARA WHERE (((rEnvoiARA.Enlevement)>""0"") AND ((rEnvoiARA.DateCftionEnlvmt) Is Null));"
 
    'ouverture de la base et envois de la requete
        Set db = CurrentDb()
        Set ARA = db.OpenRecordset(requete, dbOpenSnapshot)
    Reponse = MsgBox(ARA.Fields.Count)
    'ecriture des données
    'si le resultat pas null
    If Not ARA.EOF Then
 
            ' -- Pour chaque élément --
            Do Until ARA.EOF
                ' -- Ecriture des champs --
                For i = 0 To ARA.Fields.Count - 1
                ' -- Si le champ n'est pas null --
                Print #NumFic, ARA.Fields(i)
                Next i
                ARA.MoveNext
            Loop
                ARA.Close
    End If
 
        'Envoyer le fichier par mail
        Set db = Nothing
        Set ARA = Nothing
 
'4. Envoyer le fichier en pj par Outlook
SendOLMail ediexpmail, "exped" & sTime & ".csv", "", sFile, True
 
End Sub