Bonjour à tous,
Je souhaiterais copier dans un fichier excel des enregistrements présents dans une base de données access. Je possède les chemins d'accès de ces deux fichiers. Je ne sais pas comment m'y prendre pour copier les données de l'un à l'autre. Voici mon code argumenté :
Pourriez vous m'aider à combler le bloc entre étoiles, en utilisant peut être un With ou tout autre idée.
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 Private Sub copie() Dim accChemin As String ' Chemin de la base de données accChemin = "C:\mon Chemin ...accdb" Dim MonAccess As New Access.Application MonAccess.OpenCurrentDatabase (accChemin) Dim xlChemin As String ' Chemin du fichier excel xlChemin = "C:\ mon chemin ... xlsx" Dim app As Excel.Application Dim wkb As Excel.Workbook Dim wks As Excel.Worksheet Set app = New Excel.Application Set wkb = app.Workbooks.Open(xlChemin) Set wks = wkb.Worksheets("Feuil1") Dim SQL As String 'active la routine de gestion d'erreur. On Error GoTo erreur 'pour éviter les messages lors de l'ajout des enregistrements DoCmd.SetWarnings False '********************************************************* SQL = "SELECT champ1, champ2 FROM MaTable1" 'COPIER CES DONNEES dans le fichier excel feuil1, ligne1 SQL = "SELECT champ3, champ4 FROM MaTable2" 'COPIER CES DONNEES A LA SUITE DU FICHIER EXCEL feuil1 '********************************************************* 'on réactive les messages d'erreurs DoCmd.SetWarnings True 'On libère l'ensemble des variables Set wks = Nothing Set wkb = Nothing Set app = Nothing MonAccess.Quit acQuitSaveNone Set MonAccess = Nothing Exit Sub erreur: ' Routine de gestion d'erreur. MsgBox "Erreur: " & Err.Number & vbCrLf & Err.Description, vbOKOnly + vbInformation End Sub
Merci à tous pour vos suggestions
BH
Partager