XL 2016 [Résolu] - [VBA] - Copier-coller entre deux classeurs

  • Initiateur de la discussion Initiateur de la discussion Fredox
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Fredox

XLDnaute Occasionnel
Bonjour,

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

J'ai une erreur sur cette ligne:
Code:
Wb_Source.Ws_Source.Range("A1").Copy

Vous auriez une idée ?
Merci
 
Re

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.
 
Re

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.

Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
639
Réponses
9
Affichages
385
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
79
Réponses
12
Affichages
909
Retour