Je souhaites faire un copier-coller entre deux classeurs (l'actuel qui sert de source, le nouveau qui sert de destination). J'ai essayé de faire "simple", j'ai une erreur.
Le Code:
VB:
Sub Export()
Dim Wb_Source As Workbook, Wb_Destination As Workbook
Set Wb_Source = ThisWorkbook
Dim Ws_Source As Worksheet, Ws_Destination As Worksheet
Set Ws_Source = Wb_Source.Worksheets(1)
Dim Nom As String
Dim Export As String
Nom = "Export_(1).xls"
Set Wb_Destination = Workbooks.Add
Set Ws_Destination = Wb_Destination.Worksheets(1)
Wb_Source.Ws_Source.Range("A1").Copy
Wb_Destination.Ws_Destination.Range("A1").Paste
End sub
En attendant que tes recherches dans les archives soient fructueuses
Trois exemples qui fonctionnent sur mon PC
(Deux classeurs non enregistrés ouverts Classeur1 et Classeur2)
Les codes VBA sont dans le projet VBA de Classeur1
VB:
Sub Macro1() 'test OK
Sheets("Feuil1").Copy After:=Workbooks("Classeur2").Sheets(1)
End Sub
Sub Macro2() 'test OK
Sheets("Feuil1").Cells(1).CurrentRegion.Copy Workbooks("Classeur2").Sheets(1).Cells(1)
End Sub
Sub Macro3() 'test OK
Dim vArr
vArr = Sheets("Feuil1").Cells(1).CurrentRegion.Value
Workbooks("Classeur2").Sheets(1).Cells(1).Resize(UBound(vArr, 1), UBound(vArr, 2)) = vArr
End Sub
NB: Je te laisse tester et faire les adaptations idoines.
Bonsoir.
Pour ce qui est de l'erreur,
Ws_Source est une variable Worksheet à vous, non une propriété de Wb_Source.
Ne mentionnez donc rien devant. Une expression Worksheet connait d'elle même son Workbook Parent.
En attendant que tes recherches dans les archives soient fructueuses
Trois exemples qui fonctionnent sur mon PC
(Deux classeurs non enregistrés ouverts Classeur1 et Classeur2)
Les codes VBA sont dans le projet VBA de Classeur1
VB:
Sub Macro1() 'test OK
Sheets("Feuil1").Copy After:=Workbooks("Classeur2").Sheets(1)
End Sub
Sub Macro2() 'test OK
Sheets("Feuil1").Cells(1).CurrentRegion.Copy Workbooks("Classeur2").Sheets(1).Cells(1)
End Sub
Sub Macro3() 'test OK
Dim vArr
vArr = Sheets("Feuil1").Cells(1).CurrentRegion.Value
Workbooks("Classeur2").Sheets(1).Cells(1).Resize(UBound(vArr, 1), UBound(vArr, 2)) = vArr
End Sub
NB: Je te laisse tester et faire les adaptations idoines.
Bonjour Staple1600,
J'ai bien cherché dans le forum mis ps trouvé ce que je cherchais (ThisWorkbook).
Par facilité je vais poursuivre sur ce que j'ai fait, la solution de Dranreb m'apporte ce que je souhaite.
Bonsoir.
Pour ce qui est de l'erreur,
Ws_Source est une variable Worksheet à vous, non une propriété de Wb_Source.
Ne mentionnez donc rien devant. Une expression Worksheet connait d'elle même son Workbook Parent.