Propriété Range.Columns (Excel)

Cette propriété renvoie un objet Range qui représente les colonnes figurant dans la plage spécifiée.

Syntaxe

expression. Colonnes

expression Variable représentant un objet Range.

Remarques

Pour renvoyer une seule colonne, utilisez la propriété Item ou incluez un index entre parenthèses. Par exemple, et Selection.Columns.Item(1) retournent Selection.Columns(1) la première colonne de la sélection.

Lorsqu’elle est appliquée à un objet Range qui est une sélection à plusieurs zones, cette propriété renvoie uniquement les colonnes de la première zone de la plage. Par exemple, si l’objet Range a deux zones (A1:B2 et C3:D4)Selection.Columns.Count retourne 2, et non 4. Pour utiliser cette propriété sur une plage susceptible de contenir une sélection à zones multiples, essayez Areas.Count pour déterminer si la plage contient plusieurs zones. Si c’est le cas, faites le tour de chaque zone de la plage.

La plage renvoyée peut être en dehors de la plage spécifiée. Par exemple, Range("A1:B2").Columns(5).Select renvoie des cellules E1:E2.

Si une lettre est utilisée comme un index, elle équivaut à un nombre. Par exemple, Range("B1:C10").Columns("B").Select renvoie les cellules C1:C10, pas les cellules B1:B10. Dans l’exemple, « B » équivaut à 2.

L’utilisation de la propriété Columns sans qualificateur d’objet équivaut à utiliser ActiveSheet.Columns. Pour plus d’informations, consultez la propriété Worksheet.Columns .

Exemple

Cet exemple montre comment définir la valeur de chaque cellule de la colonne 1 de la plage nommée myRange sur 0 (zéro).

Range("myRange").Columns(1).Value = 0

Cet exemple montre comment afficher le nombre de colonnes dans la sélection de la feuille Sheet1. Si plusieurs zones sont sélectionnées, cet exemple montre comment faire une boucle sur chaque zone.

Public Sub ShowNumberOfColumnsInSheet1Selection
   Worksheets("Sheet1").Activate 
   
   Dim selectedRange As Excel.Range
   Set selectedRange = Selection
   
   Dim areaCount As Long
   areaCount = Selection.Areas.Count 
   
   If areaCount <= 1 Then 
      MsgBox "The selection contains " & _ 
             Selection.Columns.Count & " columns." 
   Else 
      Dim areaIndex As Long
      areaIndex = 1 
      For Each area In Selection.Areas 
         MsgBox "Area " & areaIndex & " of the selection contains " & _ 
                area.Columns.Count & " columns." 
         areaIndex = areaIndex + 1 
      Next 
   End If
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.