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.
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 !
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
Partager