Sélection et copie d'une plage variable
Bonjour !
Allez hop, troisième post en trois jours. Quand j'aurais fini mon développement je serais content ! ^^'
Cette fois-ci, j'ai besoin d'aller récupérer des données dans un autre document Excel. Le nombre de colonnes et de lignes n'est pas défini, je peux avoir quelques dizaines de données comme quelques milliers. Par contre je sais que les données commencent forcément en A1.
Du coup, pour tout sélectionner, j'utilise ceci :
Code:
1 2 3 4 5
| Dim Col As Long
Dim Lin As Long
Col = ActiveSheet.UsedRange.Columns.Count
Lin = ActiveSheet.UsedRange.Rows.Count |
Maintenant, je cherche à sélectionner ma plage complète ; de A1 jusqu'en (Lin, Col). Comment puis-je faire ?
Voici ma macro en entier, ça peut aider.
Code:
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
| Sub ouvrir_et_copier_donnees()
Dim File2 As String
Dim Wbk2 As Workbook
Dim Col As Integer
Dim Lin As Integer
Sheets("Sélection des données").Select
' Le chemin du fichier à ouvrir est en D6
File2 = Cells(6, 4)
' Ouverture du fichier
Set Wbk2 = Workbooks.Open(File2)
Set Main = ThisWorkbook
Col = Wbk2.Worksheets(1).UsedRange.Columns.Count
Lin = Wbk2.Worksheets(1).UsedRange.Rows.Count
' Copier-coller dans Structure
Wbk2.Worksheets(1).Range("A1:R32").Copy Main.Worksheets("Structure").Range("B15")
' Fermeture du fichier
Wbk2.Close
End Sub |
Ca fonctionne très bien mais UNIQUEMENT pour cet exemple, avec la cellule R32 écrite directement en dur dans le code. C'est ce R32 que je cherche à remplacer par quelque chose qui utilise mes variables Lin et Col...