Copie de plage a partir d'un autre classeur

Bonsoir le forum

Jai 2 classeurs:

- le 1er est intitulé "test_ouvrir" et le 2ème se trouve dans 1 dossier (dont le nom du fichier est égale aux 6 1ères lettres de mon bouton de commande).

Je souhaite maintenant copier la plage c13:m61 du 2ème classeur et la coller à partir de la cellule c13 du 1er classeur(Test_ouvrir).

Jai rédigé 1 code mais il signale 1 bug sur la cellule de destination.

Selon mon idée comment réaliser 1 tel projet ( à partir de mon code ou d'une solution plus appropriée).

Merci

10test-ouvrir.xlsm (89.74 Ko)

Bonjour,

à tester,

Sub Macro1()
Set wk1 = ThisWorkbook
spath = "C:\Users\" & Environ("username") & "\Desktop\TEST\"
sFile = Sheets("TEST1").Cmde1.Caption & ".xlsm"
Workbooks.Open Filename:=spath & sFile
Range("C13:M61").Copy wk1.Sheets("TEST1").Range("C13")
ActiveWorkbook.Close Savechanges:=False
End Sub

Bonjour sabv et le forum

Merci pour votre solution.

Elle fonctionne bien mais le collage ne se fait pas sur la feuille souhaitée.

Le nom de la feuille correspond au nom de mon bouton de commande (cmde1).

Voici ce que j'ai essayé de réaliser a partir de votre code:Bonsoir le forum

Mon code bug sur cette ligne avec comme message d’erreur « objet requis »:

Range("C13:M61").Copy wk1.Sheets("TEST1").Cmde1.Caption.Range("C13")

Voici le code intégral pour appréciation.

Résultat attendu : j’ai 2 classeurs wk et wk1 (par exemple).

Je copie la plage c13 :m61 du classeur1 pour les coller dans la cellule C13 de la feuille choisie (Sheets("TEST1").Cmde1.Caption )) du classeur2.

Le nom de la feuille de destination et classeur1 correspondent au nom du bouton de commande (cmde1).

Merci de m’aider à parfaire mon code et que son fonctionnement soit accéléré.

Dim spath As String, sFile As String

Dim wk1 As Workbook

Set wk1 = ThisWorkbook

'Set sh = Sheets("TEST1").Cmde1.Caption

spath = "C:\Users\" & Environ("username") & "\Desktop\TEST\"

sFile = Sheets("TEST1").Cmde1.Caption & ".xlsm"

Application.DisplayAlerts = False

Workbooks.Open Filename:=spath & sFile

Range("C13:M61").Copy wk1.Sheets("TEST1").Cmde1.Caption.Range("C13")

ActiveWorkbook.Close Savechanges:=False

'wk1.Sheets("TEST1").Range ("C13")

Application.DisplayAlerts = True

Je reçois un message d'erreur "objet requis"

Merci de m'aider car j'ai toute la journée à trouver mon erreur mais en vain.

Bonjour,

à tester,

Sub Macro1()
Set wk1 = ThisWorkbook
sh = Sheets("TEST1").Cmde1.Caption
spath = "C:\Users\" & Environ("username") & "\Desktop\TEST\"
sFile = Sheets("TEST1").Cmde1.Caption & ".xlsm"
Workbooks.Open Filename:=spath & sFile
Range("C13:M61").Copy wk1.Sheets(sh).Range("C13")
ActiveWorkbook.Close Savechanges:=False
End Sub

Bonjour sabv

Merci pour ta solution.

Elle fonctionne bien.

Rechercher des sujets similaires à "copie plage partir classeur"