Sub Macro1()
' Le Classeur Test 2 / La Feuille 1 / Une Plage défini
Dim WkbTest2 As Workbook
Dim WksF1 As Worksheet
Set WkbTest2 = Workbooks("test2.xlsm")
Set WksF1 = WkbTest2.Worksheets("Feuil1")
' Une Plage défini Colonne I2 (Ligne 2 / colonne I) à M100 (Lignes 100 / colonne M)
Dim RgnT2F1 As Range
Set RgnT2F1 = WksF1.Range("I2:M100")
' On Commence les Tests
' ActiveCell sera dans ce cas la cellule active choisie dans
' Le Classeur Test1 de la Feuille 1
'
' Récupérer les donner du Classeur Test2 de la Feuille 1 qui sont les valeurs de cette plage
' "l2:M100"
'
' Avec Resize
'
' Je souhaite récupérer la premiéres Lignes (1) à la Lignes (10) sur la colonnes (I) = Resize(10, 1)
ActiveCell.Resize(10, 1).Value = RgnT2F1.Value ' 10 premiéres Lignes sur 1 Colonnes
ActiveCell.Resize(10, 1).Clear
' Cette Fois
' Je souhaite récupérer la premiéres Lignes (1) à la Lignes (10) sur la colonnes (I à L ) = Resize(10, 4)
ActiveCell.Resize(10, 4).Value = RgnT2F1.Value ' 10 premiéres Lignes sur 3 Colonnes
ActiveCell.Resize(10, 4).Clear
'
'
' Mais si je veux La colonne K et L Comment Faire - Offset
' C'est la que Offset arrive !!
'
'
' Je souhaite récupérer la premiéres Lignes (1) à la Lignes (10) sur la colonnes (K à L )
' Alors : Offset(0, 2) dans l'exemple : "I2:M100" - I2 est la premiére cellule référence
' 0 = aucun décalage pour les lignes par rapport a I2
' 2 = 2 décalages pour les colonnes par rapport a I2 soit décalage commence a K2
ActiveCell.Resize(10, 2).Value = RgnT2F1.Offset(0, 2).Value ' 10 premiéres Lignes sur 2 Colonnes
ActiveCell.Resize(10, 2).Clear
'
'
' Je souhaite récupérer de Lignes (11) à la Lignes (20) sur la colonnes (L à M )
' Alors : Offset(10, 2) dans l'exemple : "I2:M100" - I2 est la premiére cellule référence a Offset
' 10 = 10 décalage pour les lignes par rapport a I2
' 2 = 2 décalages pour les colonnes par rapport a I2 soit décalage commence a L2
ActiveCell.Resize(10, 2).Value = RgnT2F1.Offset(10, 2).Value ' Lignes 11 Lignes à la Ligne 20 sur 2 Colonnes
ActiveCell.Resize(10, 2).Clear
'
'
'
' Je souhaite récupérer la Lignes (8) à la Lignes (8) sur la colonnes (J à L )
' Alors : Offset(7, 1) dans l'exemple : "I2:M100" - I2 est la premiére cellule référence a Offset
' 7 = 7 décalage pour les lignes par rapport a I2
' 1 = 1 décalages pour les colonnes par rapport a I2 soit décalage commence a L2
ActiveCell.Resize(1, 3).Value = RgnT2F1.Offset(7, 1).Resize(1, 1).Value ' Lignes 11 Lignes à la Ligne 20 sur 2 Colonnes
ActiveCell.Resize(1, 3).Clear
'
'
' Etc.
End Sub