Simplification de lignes de codes vba Access

jmnomade Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
 jmnomade -
Bonjour,
J'ai les lignes de code ci dessous, est'il possible de simplifier?

<code>Dim qd As QueryDef, qe As QueryDef, Qf As QueryDef, Qg As QueryDef, Qh As QueryDef, Qi As QueryDef, Qj As QueryDef, Qk As QueryDef, Ql As QueryDef, Qm As QueryDef

Set qd = CurrentDb.CreateQueryDef("VN", "Select * From R_MODVN")
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "VN", "c:\Moteurs.xls"
DoCmd.DeleteObject acQuery, "VN"
'
Set qe = CurrentDb.CreateQueryDef("LFDVA", "Select * From R_MODLFDVA")
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "LFDVA", "c:\Moteurs.xls"
DoCmd.DeleteObject acQuery, "LFDVA"
'
Set Qf = CurrentDb.CreateQueryDef("MOD1", "Select * From R_MOD1")
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "MOD1", "c:\Moteurs.xls"
DoCmd.DeleteObject acQuery, "MOD1"
'
Set Qg = CurrentDb.CreateQueryDef("MOD2", "Select * From R_MOD2")
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "MOD2", "c:\Moteurs.xls"
DoCmd.DeleteObject acQuery, "MOD2"
'
Set Qh = CurrentDb.CreateQueryDef("MOD3", "Select * From R_MOD3")
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "MOD3", "c:\Moteurs.xls"
DoCmd.DeleteObject acQuery, "MOD3"
'
Set Qi = CurrentDb.CreateQueryDef("MOD6", "Select * From R_MOD6")
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "MOD6", "c:\Moteurs.xls"
DoCmd.DeleteObject acQuery, "MOD6"
'
Set Qj = CurrentDb.CreateQueryDef("MOD7", "Select * From R_MOD7")
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "MOD7", "c:\Moteurs.xls"
DoCmd.DeleteObject acQuery, "MOD7"
'
Set Qk = CurrentDb.CreateQueryDef("MOD8", "Select * From R_MOD8")
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "MOD8", "c:\Moteurs.xls"
DoCmd.DeleteObject acQuery, "MOD8"
'
Merci par avance

A voir également:

2 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

Ecrit differement:

Sub test()
  Dim qd As QueryDef
  For x = 1 To 8
    Rsql = Choose(x, "MODVN", "MODLFDVA", "MOD1", "MOD2", "MOD3", "MOD6", "MOD7", "MOD8")
    Set qd = CurrentDb.CreateQueryDef(Rsql, "Select * From R_" & Rsql)
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, Rsql, "c:\Moteurs.xls"
    DoCmd.DeleteObject acQuery, Rsql
  Next x
  
End Sub


Bonne suite
0
jmnomade
 
Bonjour,
Et merci.
A+
0