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
| Sub tranfertEntreClasseursFermes()
Dim Cn As New ADODB.Connection
Dim oProdRS As New ADODB.Recordset, oRS As ADODB.Recordset
Dim oConn As ADODB.Connection
Dim j As Integer
'------------------------------------------------------------------
' "Classeur1_Fermé.xls" est le classeur source
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ThisWorkbook.Path & "\Data1.xls;" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""
'les donnees sources sont dans la Feuil1 du classeur "Data1.xls"
oProdRS.Open "SELECT * FROM [Feuil1$]", Cn, adOpenStatic
'------------------------------------------------------------------
' "Classeur2_Fermé.xls" est le classeur destination
Set oConn = New ADODB.Connection
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ThisWorkbook.Path & "\Data2.xls;" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""
'les donnees sont à placer dans la Feuil1 du classeur "Data2.xls"
Set oRS = New ADODB.Recordset
oRS.Open "Select * from [Feuil1$]", oConn, adOpenKeyset, adLockOptimistic
'------------------------------------------------------------------
'transfert des données
Do While Not (oProdRS.EOF)
oRS.AddNew
For j = 0 To oRS.Fields.Count - 1
oRS.Fields(j) = oProdRS.Fields(j).Value
Next j
oRS.Update
oProdRS.MoveNext
Loop
oProdRS.Close
Cn.Close
oRS.Close
oConn.Close
End Sub |
Partager