Bonjour à tous,
Cela fait un moment que je cherche et que j'essaie d'adapter différentes solutions que je trouves un peu partout mais rien y fait...
Voici mon problème :

J'ai, sur un classeur "Wbk2", une plage de donnée "PlageWbk2" que je voudrais extraire pour l'ajouter à la suite d'un tableau existant.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
Dim titre As String
Dim wbk1 As Workbook
Dim wbk2 As Workbook
 
Dim PlageWbk2 As Range
Dim PlageWbk1 As Range
Dim LastColWbk2 As Variant
Dim LastLigneWbk2 As Variant
Dim LastCol As Variant
Dim Lastligne As Variant
Dim OngletWbk2 As String
 
OngletWbk2 = "Feuil2"
 
titre = "MonFichier.xlsx"
Set wbk1 = ThisWorkbook
Set wbk2 = Workbooks.Open(titre) ' jouvre le classeur (titre)
 
'Verification de la dernière ligne/colone du tableau Wbk2
LastColWbk2 = wbk2.Worksheets(OngletWbk2).Cells(1, Cells.Columns.Count).End(xlToLeft).Column
LastLigneWbk2 = wbk2.Worksheets(OngletWbk2).Range("A" & Rows.Count).End(xlUp).Row
 
'Verification de la dernière ligne/colone du tableau source
LastCol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column
Lastligne = Range("A" & Rows.Count).End(xlUp).Row
 
PlageWbk2 = wbk2.Worksheets(OngletWbk2).Range(LastLigneWbk2, LastColWbk2) 'si je mets .Range("A1", "A6") ça passe mais ça mets une erreur à la ligne 33
 
PlageRecep = Range(Cells(Lastligne + 1, 1), Cells(Lastligne + LastLigneWbk2, LastCol))
 
 
wbk2.Worksheets(OngletWbk2).Range(PlageWbk2).Copy wbk1.Worksheets(1).Range(PlageRecep)
 
wbk2.Close
Ce code qui fonctionne très bien pour une cellule ou pour une plage fixe. Mais dés que j'essaie de mettre des variable dans ma plage source cela me mets une erreur à chaque fois... Pouvez vous m'aider ? Merci beaucoup a tous !