Re : copie des cellules ouvert, vers des cellules fermé
j'ai trouvé code VBA suivante:
Transférer des enregistrements entre 2 classeurs fermés
"Classeur1_Fermé.xls" est le classeur source . toutes les données de la Feuil1 sont récuperees dans la requete
Classeur2_Fermé.xls" est le classeur destination . les données recuperees sont ajoutées a la suite des enregistrements existants
Le classeur contenant la macro et les 2 classeurs fermés sont dans le meme repertoire
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 & "\Classeur1_Fermé.xls;" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""
'les donnees sources sont dans la Feuil1 du classeur "Classeur1_Fermé.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 & "\Classeur2_Fermé.xls;" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""
'les donnees sont à placer dans la Feuil1 du classeur "Classeur2_Fermé.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
ça donne , mais pas tout a fait,parce que je voudrais si corresponde avec N° lot et pas besoin de " classeur requête "