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 59 60 61 62 63 64 65 66
| Private Sub famille_HA_DblClick(Cancel As Integer)
Dim ID_ligne
Dim strSQL As String
Dim rst As DAO.Recordset
Dim n As Long
'On Error GoTo FIN:
ID_ligne = Me.ID_HA
'on donne a la variable strSql la valeur SQL d'une requete renvoyant les valeurs que l'on souhaite copier
strSQL = "SELECT T_FAM_HA.code_fam_ha, T_DDE_HA.ref_produit, T_DDE_HA.qté, T_DDE_HA.design_produit, T_DDE_HA.Longueur, T_DDE_HA.Largeur, T_DDE_HA.Epaisseur, T_DDE_HA.uté " & _
"FROM T_FAM_HA INNER JOIN T_DDE_HA " & _
"ON T_FAM_HA.N° = T_DDE_HA.famille_HA " & _
"WHERE (((T_DDE_HA.ID_HA)=" & ID_ligne & "));"
Set rst = CurrentDb.OpenRecordset(strSQL)
If rst.RecordCount > 0 Then 'Si la requete renvoie plus d'un enregistrement (donc si le dossier existe)
Dim XLApp As Excel.Application
Dim XLWorkbook As Excel.Workbook
If IsFileOpen("C:\Users\p\Desktop\TEST.xlsx") Then
MsgBox ("réussi1")
'Excel.Application.Visible = True
Excel.Workbooks("TEST.xlsx").Close True
DoEvents
End If
Set XLApp = CreateObject("Excel.Application")
XLApp.Visible = True
Set XLWorkbook = XLApp.Workbooks.Open("C:\Users\p\Desktop\TEST.xlsx")
DoEvents
XLApp.Sheets("Feuil1").Select
n = XLApp.Range("A" & XLApp.Rows.Count).End(xlUp).Row
MsgBox (n)
'Exportation du recordset, ENFIN
XLApp.Cells(n + 1, 1).CopyFromRecordset rst
'XLApp.Sheets("Feuil1").Select
'C:\Users\p\Desktop\TEST.xlsx
'clipboard.CopyFromRecordset rst
MsgBox ("réussi2")
Set XLApp = Nothing
Set XLWorkbook = Nothing
Else
MsgBox ("Ce N° de dossier n'est pas valide")
End If
FIN:
End Sub |
Partager