Propriété Range.Item (Excel)

Cette propriété renvoie un objetRange qui représente une plage décalée par rapport à la plage spécifiée.

Syntaxe

expression. Item (RowIndex, ColumnIndex)

expression Variable représentant un objet Range.

Paramètres

Nom Requis/Facultatif Type de données Description
RowIndex Obligatoire Variant Si le deuxième argument est fourni, le numéro de ligne relatif de la cellule à renvoyer.

Si le deuxième argument n’est pas fourni, l’index de la sous-plage à renvoyer.
ColumnIndex Facultatif Variant Numéro de colonne relatif de la cellule à renvoyer.

Remarques

Si expression n’est pas une plage contenant un ensemble de cellules individuelles, par exemple parce qu’elle a été obtenue via le membre Columns , fournir le deuxième argument est illégal et entraînera une erreur 1004.

Le membre par défaut de Range transfère les appels avec des paramètres au membre Item . Ainsi, someRange(1) et someRange(1,1) sont équivalents à someRange.Item(1) et someRange.Item(1,1), respectivement.

Les arguments RowIndex et ColumnIndex sont des décalages relatifs de base sur 1 par rapport à la cellule supérieure gauche de la première zone de la plage renvoyée par le membre Areas , c’est-à-dire que pour la plage Union(someSheet.Range("Z4:AA6"), someSheet.Range("A1:C3")), Item(1,1) retourne la plage avec l’adresse $Z$4.

Le ColumnIndex peut être fourni soit sous forme d’index numérique, soit sous forme de chaîne d’adresse de colonne comme dans la notation A1, c’est-à-dire qu’il "A" fait référence à l’index 1 numérique et "AA" à 27.

Il est possible de référencer des cellules en dehors de la plage d’origine à l’aide de la propriété Item en fournissant des arguments appropriés, par exemple Item(3,3) renverra la cellule à "D4" pour la plage someSheet.Range("B2:C3").

La plage renvoyée lorsque vous fournissez un seul paramètre dépend de la nature de la plage :

  • Pour les plages composées de cellules uniques, telles que renvoyées par les membres Cells et Range , Item renvoie des cellules individuelles. Le paramètre RowIndex fait référence à l’index lors de l’énumération de la première zone de la plage de gauche à droite plutôt que de haut en bas, comme pour les tableaux à deux dimensions. Si RowIndex est supérieur au nombre de cellules de la première zone de la plage, l’énumération se fait comme si la zone était étendue vers le bas.

  • Pour les plages composées de plages de lignes, telles que renvoyées par les lignes, l’option Élément renvoie les plages de lignes. Le paramètre RowIndex est le décalage de base 1 par rapport à la première ligne de la plage dans la direction de haut en bas.

  • Pour les plages composées de plages de colonnes, telles que retournées par Columns, Item retourne les plages de colonnes. Le paramètre RowIndex correspond au décalage de base 1 par rapport à la première colonne dans le sens de gauche à droite. Dans ce cas, l’index peut également être fourni sous la forme d’une chaîne d’adresse de colonne.

Exemple

L’exemple suivant montre quelle cellule est renvoyée si les deux paramètres sont fournis.

Public Sub PrintAdresses()
   Dim exampleRange As Excel.Range
   With ThisWorkbook.Worksheets("ExampleSheet")
      Set exampleRange = Application.Union(.Range("B2:D4"), .Range("A1"), .Range("Z1:AA20"))
   End With
  
   Debug.Print exampleRange.Item(1,1).Address      'Prints "$B$2"
   Debug.Print exampleRange.Item(2,4).Address      'Prints "$E$3"
   Debug.Print exampleRange.Item(20,40).Address    'Prints "$AO$21"
   Debug.Print exampleRange.Item(2,"D").Address    'Prints "$E$3"
   Debug.Print exampleRange.Item(20,"AN").Address  'Prints "$AO$21"
End Sub

L’exemple suivant montre pour différents types de plages quelles sous-plages sont renvoyées si un seul paramètre est fourni.

Public Sub PrintAdresses()
   Dim exampleRange As Excel.Range
   With ThisWorkbook.Worksheets("ExampleSheet")
      Set exampleRange = Application.Union(.Range("B2:D4"), .Range("A1"), .Range("Z1:AA20"))
   End With

   Debug.Print exampleRange.Cells.Item(1).Address      'Prints "$B$2"
   Debug.Print exampleRange.Cells.Item(2).Address      'Prints "$C$2"
   Debug.Print exampleRange.Cells.Item(4).Address      'Prints "$B$3"
   Debug.Print exampleRange.Cells.Item(10).Address     'Prints "$B$5"
  
   Debug.Print exampleRange.Rows.Item(1).Address       'Prints "$B$2:$D$2"
   Debug.Print exampleRange.Rows.Item(10).Address      'Prints "$B$11:$D$11"
  
   Debug.Print exampleRange.Columns.Item(1).Address    'Prints "$B$2:$B$4"
   Debug.Print exampleRange.Columns.Item(10).Address   'Prints "$K$2:$K$4"
   Debug.Print exampleRange.Columns.Item("A").Address  'Prints "$B$2:$B$4"
   Debug.Print exampleRange.Columns.Item("J").Address  'Prints "$K$2:$K$4"
End Sub

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.