Parfois, dans une macro, il est utile de sélectionner des cellules par rapport à la cellule actuellement sélectionnée. Par exemple, disons que vous souhaitez sélectionner les trois premières cellules de la ligne actuelle. Vous pouvez le faire en utilisant le code VBA suivant:

Range(Cells(Selection.Row, 1), Cells(Selection.Row, 3)).Select

La propriété Cells renvoie un objet qui représente une ligne et une colonne spécifiques (cellule individuelle) d’une feuille de calcul. Dans cet usage, Cells est utilisé deux fois pour déterminer une plage spécifique de cellules. La première instance renvoie la première cellule de la ligne actuelle, tandis que la seconde renvoie la troisième cellule de la ligne actuelle. Ainsi, la plage devient la première à la troisième cellule de la ligne actuelle.

Au lieu d’utiliser la propriété Cells pour spécifier un emplacement, vous pouvez utiliser la propriété Offset pour accomplir une grande partie de la même tâche. Considérez le code suivant:

Range(ActiveCell.Offset(-3, 5), ActiveCell.Offset(0, 10)).Select

Cela utilise la propriété Offset de l’objet ActiveCell pour spécifier une plage relative à la cellule actuellement sélectionnée. La propriété Offset prend un argument qui représente la ligne et la colonne du décalage. Une valeur négative représente le haut (pour la ligne) et la gauche (pour la colonne). Une valeur positive est vers le bas (pour la ligne) et vers la droite (pour la colonne). Vous pouvez également utiliser une valeur de 0, qui représente la ligne ou la colonne actuelle.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (2268) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Selecting_a_Range_of_Cells_Relative_to_the_Current_Cell [Sélection d’une plage de cellules par rapport à la cellule actuelle].