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
| Sub DoCmdRunSQL(ByVal sql As String, ByVal rDest As Range)
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = DAO.OpenDatabase(ActiveWorkbook.FullName, False, False, "Excel 8.0;HDR=YES;")
Set rs = db.OpenRecordset(sql, DAO.dbOpenSnapshot)
rDest.CopyFromRecordset rs
Set rs = Nothing
Set db = Nothing
'Dim Rst As Recordset
' Set Rst = MonObjetData.OpenRecordset("Select * From Client", dbOpenSnapshot)
'DbOpenSnapshot = Création d'un jeu d'enregistrement en Lecture seule
'Set Rst = MonObjetData.OpenRecordset("Select * From Client", dbOpenDynaset)
'DbOpenDynaset = Création d'un jeu d'enregistrement en Lecture/Ecriture
End Sub
Sub test()
Cells.Select
Selection.Delete Shift:=xlUp
Range("A1").Select
i = 2
j = 10
monselect = " SELECT matricule,periode,compteur1 "
monfrom = " FROM "
maplage = "[CPT_ANN_TNC$A1:BE5]"
monwhere = " WHERE domaine_compteur ='ABSENCES' "
mafeuille = Chr$(34) & "Feuil1" & Chr$(34)
macellule = Chr$(34) & "A10" & Chr$(34)
madestination = " Sheets(" & mafeuille & ").Range(" & macellule & ")"
marequete = monselect & monfrom & maplage & monwhere '& Chr$(34) '& madestination
MsgBox "ma requête : " & Chr(10) & marequete & madestination
'DoCmdRunSQL "SELECT matricule,periode FROM [CPT_ANN_TNC$A1:BE5] WHERE domaine_compteur ='ABSENCES' ", Sheets("Feuil2").Range("A1")
'DoCmdRunSQL "SELECT matricule,periode FROM [CPT_ANN_TNC$A1:BE5] WHERE domaine_compteur ='ABSENCES' ", Sheets("Feuil" & i).Range("A" & j)
DoCmdRunSQL marequete, Sheets("Feuil" & i).Range("A" & j)
Sheets("Feuil2").Select
Range("A1").Select
MsgBox " fin"
End Sub |