Transfert plage dans classeur fermé

Marc_du_78

XLDnaute Accro
Bonjour le Forum,

Voila, je cherche à tranférer la plage A1:M10 d'un classeur nommé 'Modele' Feuil1,
dans un autre classeur (fermé) nommé 'Archives' Feuil1
Ces classeurs se trouvent dans : E\\AffectEngins

Le code ci-dessous provient de la page Wiki de ce Forum et je bloque dès le départ sur la ligne 2 (Type défini par l'utilisateur non défini)

'TransférerDansClasseursFermés
' 'Modele.xls' est le classeur source.
'Toutes les données de la Feuil1 sont récuperees dans la requete.
' 'Archives.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 'Type défini par l'utilisateur non défini
Dim oProdRS As New ADODB.Recordset, oRS As ADODB.Recordset
Dim oConn As ADODB.Connection
Dim j As Integer
'------------------------------------------------------------------
' 'Modele.xls' est le classeur source
Cn.Open 'Provider=Microsoft.Jet.OLEDB.4.0;' & _
'Data Source=' & ThisWorkbook.Path & '\\Modele.xls;' & _
'Extended Properties=''Excel 8.0;HDR=NO;'''
'les donnees sources sont dans la Feuil1 du classeur 'Modele.xls'
oProdRS.Open 'SELECT * FROM ?[Feuil1$]', Cn, adOpenStatic
'------------------------------------------------------------------
' 'Archives.xls' est le classeur destination
Set oConn = New ADODB.Connection
oConn.Open 'Provider=Microsoft.Jet.OLEDB.4.0;' & _
'Data Source=' & ThisWorkbook.Path & '\\Archives.xls;' & _
'Extended Properties=''Excel 8.0;HDR=NO;'''
'les donnees sont à placer dans la Feuil1 du classeur 'Archives.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

Je vous remercie pour votre aide.
 

Marc_du_78

XLDnaute Accro
Bonjour Michel,
J'ai l'erreur 3265
Impossible de trouver l'objet dans la collection correspondant au nom où à la référence ordinale demandé.
Ma plage A1:M8 est rigoureusement identiques sur les 2 feuilles
Chaque transfert se mettant en fait à la suite
c'est ç dire :
A1:M8 puis A9:M16 etc
En te remerciant
 

Marc_du_78

XLDnaute Accro
Re,
Après nouvelle vérification j'avais effectivement un champ supplémentaire dans le classeur Archives.
Par contre, ce que je souhaiterai obtenir, c'est la copie exact de la plage et le collage Valeurs, Format à la réception.
Je vous présente mes excuses pour cette mauvaise observations de ma part.
En vous remerciant.
 

MichelXld

XLDnaute Barbatruc
Transfert données entre 2 classeurs fermés

rebonjour Marc

ci joint un classeur démo


bonne journée
MichelXld [file name=transfertClasseursFermes.zip size=19016]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/transfertClasseursFermes.zip[/file]
 

Pièces jointes

  • transfertClasseursFermes.zip
    18.6 KB · Affichages: 231
  • transfertClasseursFermes.zip
    18.6 KB · Affichages: 241
  • transfertClasseursFermes.zip
    18.6 KB · Affichages: 242

Marc_du_78

XLDnaute Accro
Re:Transfert données entre 2 classeurs fermés

Mes salutations Michel,

Je te remercie grandement de ton aide (plus que ca même) pour traiter ma demande.
Ceci m'a permis de voir mes erreurs même si je ne comprends pas le code dans le détail.
J'ai donc adapté la feuille Archives en conséquence.
Le plus important (pour l'instant) c'est que ca marche impec !
Encore un grand merci Michel et en te souhaitant une bonne fin de journée.
Merci à tous.
 

Discussions similaires

Statistiques des forums

Discussions
312 508
Messages
2 089 139
Membres
104 047
dernier inscrit
bravetta