Comment utiliser OFFSET avec l’objet range en VBA ?

En utilisant OFFSET avec l’objet plage, vous pouvez naviguer d’une cellule à l’autre dans la feuille de calcul et vous pouvez également sélectionner une cellule ou une plage. Il vous donne également accès aux propriétés et aux méthodes que vous avez avec l’objet de plage à utiliser, mais vous devez spécifier les arguments dans le OFFSET pour l’utiliser.

Utiliser OFFSET avec l’objet Range

  1. Spécifiez la plage à partir de laquelle vous souhaitez commencer.
  2. Entrez un point (.) pour obtenir une liste de propriétés et de méthodes.
  3. Sélectionnez la propriété offset et spécifiez les arguments (ligne et colonne).
  4. À la fin, sélectionnez la propriété à utiliser avec le décalage.
décalage avec l'objet range

Sélectionnez une plage à l’aide de OFFSET

Vous pouvez également sélectionner une plage qui correspond au nombre de lignes et de colonnes éloignées d’une plage. Prenez la ligne de code ci-dessous, qui sélectionne une plage de deux cellules composée de cinq lignes vers le bas et de 3 colonnes vers la droite.

Range("A1:A2").Offset(3, 2).Select
sélectionner la plage à l'aide du décalage

En dehors de cela, vous pouvez également écrire du code pour sélectionner la plage en utilisant une taille personnalisée. Prenons un exemple du code suivant.

Range(Range("A1").Offset(1, 1), Range("A1").Offset(5, 2)).Select
sélectionner la plage en utilisant la taille personnalisée

Pour comprendre ce code, vous devez le diviser en trois parties.

divisé en trois parties

Tout d’abord, dans cet objet de plage, vous avez la possibilité de spécifier la première cellule et la dernière de la plage.

option pour spécifier la première cellule

Revenons maintenant à l’exemple :

  • Dans la PREMIÈRE partie, vous avez utilisé l’objet plage pour faire référence à la cellule située une ligne vers le bas et une colonne à droite de la cellule A1.
  • Dans la DEUXIÈME partie, vous avez utilisé l’objet range pour faire référence à la cellule située cinq lignes plus bas et deux colonnes à droite de la cellule A1.
  • Dans la partie THRID, vous avez utilisé les cellules de la première et de la deuxième partie pour faire référence à une plage et la sélectionner.

Utiliser OFFSET avec ActiveCell

Vous pouvez également utiliser la cellule active au lieu d’utiliser une plage prédéfinie. Cela signifie que vous obtiendrez un décalage dynamique pour sélectionner une cellule naviguant à partir de la cellule active.

ActiveCell.Offset(5, 2).Select

La ligne de code ci-dessus sélectionnera la cellule qui se trouve cinq lignes vers le bas et deux colonnes à droite de la cellule active.

Utilisation de OFFSET avec ActiveCell pour sélectionner une plage

Utilisez le code suivant pour sélectionner une plage dans la cellule active.

Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(5, 2)).Select

Pour comprendre le fonctionnement de ce code, assurez-vous de consulter cette explication .

Copier une plage à l’aide de OFFSET

Range(Range("A1").Offset(1, 1), Range("A1").Offset(5, 2)).Copy
Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(5, 2)).Copy

Utilisation de la propriété Cells avec OFFSET

Vous pouvez également utiliser la propriété OFFSET avec la propriété CELLS. Considérez le code suivant.

Cells(1, 3).Offset(2, 3).Select
propriété de cellule avec décalage

Le code ci-dessus fait d’abord référence à la cellule A1 (comme vous l’avez spécifié) avec la première ligne et la première colonne à l’aide de la propriété cells, puis utilise la propriété offset pour sélectionner la cellule qui se trouve deux lignes plus bas et comporte trois colonnes.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *