VBA Sélectionner plage de cellules dernière ligne

Bonjour,

Je n'arrive pas à créer une macro qui à partir du fichier "Pilote MACROS" à sélectionner la plage de cellule A2 à P (cette plage peut-être variable en nombre de lignes en fonction de l'extration faite à partir d'un logiciel).

Ensuite, copier cette plage de cellules variable dans le fichier "BD" à la suite des données déjà présentes.

En gros, je dois copier les données du fichier Extraction et les compiler dans "BD".

En vous remerciant de votre aide.

Sub Selection_Plage()

Windows("Extraction.xlsx").Activate
Range("A2:P5").Select
Selection.Copy
Windows("BD.xlsx").Activate
 ActiveCell.Select
    ActiveSheet.Paste

End Sub

Bonjour,

Si tu laisse ce code, ce sera la cellule active du W1.

Sub Selection_Plage()

Set W1 = Workbooks("Extraction.xlsx")
Set W2 = Workbooks("BD.xlsx")

DerLig = W1.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

W1.ActiveSheet.Range("A2:P" & DerLig).Copy
W2.ActiveSheet.Paste

End Sub

Sinon "coller sous les données deja presente" du W1

Sub Selection_Plage()

Set W1 = Workbooks("Extraction.xlsx")
Set W2 = Workbooks("BD.xlsx")

DerLig = W1.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
DerLig2 = W2.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

W1.ActiveSheet.Range("A2:P" & DerLig).Copy
W2.ActiveSheet.Range("A" & DerLig2 + 1).Select
W2.ActiveSheet.Paste

End Sub

A+

Sub Selection_Plage()

Set W1 = Workbooks("Extraction.xlsx")
Set W2 = Workbooks("BD.xlsx")

DerLig = W1.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
DerLig2 = W2.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

W1.ActiveSheet.Range("A2:P" & DerLig).Copy
W2.ActiveSheet.Range("A" & DerLig2 + 1).Select
W2.ActiveSheet.Paste

End Sub

Avec ce code, j'ai le message "Erreur d'exécution'1004': La méthode Select de la classe Range a échoué, à la ligne 10.

Rechercher des sujets similaires à "vba selectionner plage derniere ligne"