Bonjour,

Je découvre le Visual Basic (d'ailleurs je suis perdu en VB.NET, VBA, VB6 ! Si vous pouviez m'éclaircir se point) et j'ai un projet professionnel, je dois faire l'exportation du contenu d'une table Access vers un fichier csv.

J'ai donc fait la connexion avec ADODB, je fais mon RecordSet et je voudrais donc transmettre le résultat sous .CSV.

J'ai fait des recherches, et j'ai pu voir que certains créer un fichier texte avec le délimiteur puis créer le fichier CSV

Je sais aussi qu'il faut utilisé la fonction DoCmd.TransferText, je suis donc vraiment pas loin, mais je sèche, je ne sais pas quoi faire entre mon RecordSet et la fonction.

Convertir en tableau ? Créer un fichier texte intermédiaire ? Le parcourir ?

Voici mon code actuel :

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
 
Sub Export_CSV()
 
    Ouverture_Connexion_BDD
 
    If Connexion Then
 
        ' Déclaration de la variable contenant le répertoire d'enregistrement
        Dim Chemin As String
 
        ' Execution de la requête
        req.Open "select * from TB_REF_CONV;", cnx
 
        With req
 
            If .EOF Then
                MsgBox "La table <Param1> ne contient aucune donnée.", vbExclamation, "Erreur de traitement"
            Else
                Chemin = ChoixDossier
 
                    'La totalité des entrées présentes dans la table est exportée (sans être supprimée de la table) dans le fichier.
                    'Si une erreur survient lors de l'export
                        'Le message d'erreur est affiché dans un pop-up et l'utilisateur est prévenu que le traitement est interrompu.
 
                    'Do
                       ' MsgBox req("Devise")
                       ' .MoveNext
                    'Loop While Not .EOF
 
 
 
                    ' DoCmd.TransferText acExportDelim, "Export_CSV", req, "C:\April.csv", True
 
                    'DoCmd.TransferText acExportDelim, , req.Record, "C:\April.csv"
 
                    MsgBox "L'export s'est terminé avec succès.", vbInformation, "Opération réussie"
 
                Else
                    MsgBox "Traitement de l'exportation interrompu.", vbExclamation, "Erreur de traitement"
 
                End If
 
            End If
 
        End With
 
        req.Close
        Set req = Nothing
 
 
        Fermeture_Connexion_BDD
 
 
    End If
 
End Sub
La procédure Ouverture_connexion_BDD fonctionne parfaitement ainsi que la fonction ChoixDossier qui retourne bien sous forme de string le choix du répertoire sous lequel faire l'enregistrement du CSV.

Ma requête fonctionne, donc que dois-je faire désormais ?

Merci d'avance