Feuille copier a la suite d'un autre classeur fermer

Bonjour a tous,

Je viens vers vous pour problème. J'ai deux classeur qu'on va appeler Classeur A onglet (Source) et Classeur B - onglet (Destination) sur lequel j'aimerais que quand je clique sur un bouton, le Classeur A avec la feuille source ce copie en A - J et ce colle a la dernière ligne vide de A - J du classeur B onglet destination. Il faut s'avoir que le classeur B ne ce trouve pas au même endroit que le classeur A et que le classeur B et fermer.

Merci a tous pour votre aide

Jérôme

Bonjour,

Un test si j'ai bien compris :

Sub ENVOI()
Dim WS_S As Worksheet
Dim WB_D As Workbook
Dim WS_D As Worksheet
Dim LR%
Set WS_S = ThisWorkbook.Worksheets("Source")
LR = WS_S.Cells(WS_S.Rows.Count, 1).End(xlUp).Row
WS_S.Range("A1:J" & LR).Copy 'A2 si ne souhaite pas copier la première ligne
Set WB_D = Workbooks.Open("C:\Users\Documents\BDD.xlsm") 'Chemin à adapter
Set WS_D = WB_D.Worksheets("BDD")
LR = WS_D.Cells(WS_D.Rows.Count, 1).End(xlUp) + 1
WS_D.Cells(LR, 1).PasteSpecial Paste:=xlPasteValues
WB_D.Close True
MsgBox "Mise à jour réalisée", vbInformation
End Sub

A noter que le chemin du classeur a adapter (ici BDD) doit être adapté à votre cas.

Si ça ne correspond pas au besoin, merci de nous fournir les deux fichiers anonymisés avec la situation initiale et le résultat attendu.

Cdlt,

2test.xlsm (15.20 Ko)

Bonsoir Ergotamine,

1source.xlsx (27.81 Ko)
2destinataire.xlsx (65.33 Ko)

Merci pour ton aide, j'ai un message d'erreur sur cette ligne. Je te joins deux fichier effectivement pour que ce soit plus simple

LR = WS_D.Cells(WS_D.Rows.Count, 1).End(xlUp) + 1

Un grand merci pour ton aide

Bonsoir,

Oui j'ai oublié la propriété Row dans le code excusez moi. Le code corrigé, le chemin reste a adapter. Par contre attention, vous avez des espaces dans certaines cellules de la colonne A. Vous risquez de vous trouver avec des lignes pas au bon endroit. Je vous conseille de supprimer tous les espaces de votre colonne A (selection -> Ctrl + H -> mettre un espace dans le premier champ -> remplacer tout) :

Sub ENVOI()
Dim WS_S As Worksheet
Dim WB_D As Workbook
Dim WS_D As Worksheet
Dim LR%
Application.ScreenUpdating = False
Set WS_S = ThisWorkbook.Worksheets("SOURCE")
LR = WS_S.Cells(WS_S.Rows.Count, 1).End(xlUp).Row
WS_S.Range("A2:J" & LR).Copy
Set WB_D = Workbooks.Open("C:\Users\Desktop\Copie de destinataire.xlsx") 'Chemin à adapter
Set WS_D = WB_D.Worksheets("DESTINATAIRE")
LR = WS_D.Cells(WS_D.Rows.Count, 1).End(xlUp).Row + 1
WS_D.Cells(LR, 1).PasteSpecial Paste:=xlPasteValues
WB_D.Close True
Application.ScreenUpdating = True
MsgBox "Mise à jour réalisée", vbInformation
End Sub

Cdlt,

Un grand merci a toi ça fonctionne parfaitement. Effectivement les blanc pose problème. je vais voir ce que je peux faire.

encore merci

cdt

Jérome

Rechercher des sujets similaires à "feuille copier suite classeur fermer"