Copier coller entre deux classeurs

Bonjour à tous,

Je rencontre un problème de copier coller entre deux classeurs que je ne parviens pas à m'expliquer malgré mes recherches sur le forum.

Mon objectif est simple : copier une plage de cellule depuis un fichier source, vers un fichier de travail. voici mon code :

Sub test_impotrv2()

Set w_trav = ThisWorkbook
Nom_f_imp = Application.GetOpenFilename("Classeurs Excel(*.xlsx),*.xlsx, Macros complémentaires (*.xlsm),*.xlsm")
Set w_imp = Workbooks.Open(Nom_f_imp)

w_imp.Worksheets("Import Compta").Range(Cells(2, 1), Cells(10, 1)).Copy w_trav.Worksheets("Import FGA").Cells(2, 1)

End Sub

Cela ne marche pas je reçois une erreur 1004 sur la dernière ligne...

Où me suis-je fourvoyé?

merci de vos réponses.

Frédéric

Bonjour,

un fichier ??

essai ceci ...

Sub test_impotrv2()

Set w_trav = ThisWorkbook
Nom_f_imp = Application.GetOpenFilename("Classeurs Excel(*.xlsx),*.xlsx, Macros complémentaires (*.xlsm),*.xlsm")
Set w_imp = Workbooks.Open(Nom_f_imp)

w_imp.Worksheets("Import Compta").Range(Cells(2, 1), Cells(10, 1)).Copy destination:=w_trav.Worksheets("Import FGA").Cells(2, 1)

End Sub

exemple

9duhart-fred.xlsm (14.06 Ko)
6fred-duhart.xlsx (7.51 Ko)

Bonjour,

merci!

effectivement cela marche bien, sauf dans mes fichiers... Je ne parviens pas à comprendre... peut tre une histoire de fichier en lecture seule...

Je ne peux pas fournir les fichiers sources pour des questions de confidentialité. Je vais essayer de me débrouiller seul.

Merci encore pour l'aide!

Je me réponds à moi même ayant résolu mon problème...

C'est l'appel de range avec les cells intégrés qui ne fonctionne pas :

ça :

w_imp.Worksheets("Import Compta").Range(Cells(2, 1), Cells(10, 1))

VBA semble ne pas trouver la plage car il n'est pas dans le fichier actif.

Ce qui est étrange c'est que cela fonctionne avec une plage défini avec Range ("A2;A10")...

Rechercher des sujets similaires à "copier coller entre deux classeurs"