Re : Transférer des données entre deux classeurs fermés
Bonjour,
Si vous pensez pouvoir m'aider, voici le code qui permet, à partir du classeur requête de récupérer les données dans le classeur source pour les envoyer dans le classeur cible. Ce code fonctionne parfaitement, mais à chaque requête c'est la totalité des données qui s'ajoutent en dessous. Donc il n'écrase pas les données précédentes ce qui est gênant pour ce que j'envisage (une sorte d'actualisation des données à chaque requête). Les classeurs mentionnés se trouvent dans le fichier joint de mon précédent message.
Option Explicit
'"ClasseurFermeSource.xls"
'toutes les données de la Feuil1 sont récuperees dans la requete
'----------------------------------------------------------------
'ClasseurFermeDestination.xls .
'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
'------------------------------------------------------------------
' "classeurFermeSource.xls" est le classeur source
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ThisWorkbook.Path & "\MDSH.xls;" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""
'les donnees sources sont dans la Feuil1 du classeur "classeurFermeSource.xls"
oProdRS.Open "SELECT * FROM [Ordonnancier$]", Cn, adOpenStatic
'------------------------------------------------------------------
' "classeurFermeDestination.xls" est le classeur destination
Set oConn = New ADODB.Connection
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ThisWorkbook.Path & "\T2A.xls;" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""
'les donnees sont à placer dans la Feuil1 du classeur "classeurFermeDestination.xls"
Set oRS = New ADODB.Recordset
oRS.Open "Select * from [T2A$]", oConn, adOpenKeyset, adLockOptimistic
Ce code est beaucoup trop complexe pour mes minuscules compétences
, c'est pourquoi je sollicite votre aide.
Merci.