Articles

VBA – Sélectionner (et travailler avec) des lignes et des colonnes entières – Automatiser ExcelAutomatiser Excel

Ce tutoriel va démontrer comment sélectionner et travailler avec des lignes ou des colonnes entières en VBA.

D’abord, nous couvrirons comment sélectionner des lignes et des colonnes entières, puis nous démontrerons comment manipuler des lignes et des colonnes.

Sélectionner des lignes ou des colonnes entières

Sélectionner une seule ligne

Vous pouvez sélectionner une ligne entière avec l’objet Rows comme ceci :

Rows(5).Select

Ou vous pouvez utiliser EntireRow avec les objets Range ou Cells :

Range("B5").EntireRow.Select

ou

Cells(5,1).EntireRow.Select

Vous pouvez également utiliser l’objet Range pour vous référer spécifiquement à une rangée :

Range("5:5").Select

Sélectionner une seule colonne

Au lieu de l’objet Rows, utilisez l’objet Columns pour sélectionner des colonnes. Ici, vous pouvez référencer la colonne numéro 3:

Columns(3).Select

ou la lettre « C », entourée de guillemets:

Columns("C").Select

Au lieu de EntireRow, utilisez EntireColumn avec les objets Range ou Cells pour sélectionner des colonnes entières :

Range("C5").EntireColumn.Select

ou

Cells(5,3).EntireColumn.Select

Vous pouvez également utiliser l’objet Range pour faire référence spécifiquement à une colonne :

Range("B:B").Select

Sélectionner plusieurs lignes ou colonnes

La sélection de plusieurs lignes ou colonnes fonctionne exactement de la même manière lorsque vous utilisez EntireRow ou EntireColumn :

Range("B5:D10").EntireRow.Select

ou

Range("B5:B10").EntireColumn.Select

Toutefois, lorsque vous utilisez les objets Rows ou Columns, vous devez saisir les numéros de ligne ou les lettres de colonne entre guillemets :

Rows("1:3").Select

ou

Columns("B:C").Select

Sélectionner la rangée ou la colonne ActiveCell

Pour sélectionner la rangée ou la colonne ActiveCell, vous pouvez utiliser l’une de ces lignes de code :

ActiveCell.EntireRow.Select

ou

ActiveCell.EntireColumn.Select

Sélectionner des lignes et des colonnes sur d’autres feuilles de calcul

Pour sélectionner des lignes ou des colonnes sur d’autres feuilles de calcul, vous devez d’abord sélectionner la feuille de calcul.

Sheets("Sheet2").SelectRows(3).Select

Il en va de même pour la sélection de lignes ou de colonnes dans d’autres classeurs.

Workbooks("Book6.xlsm").ActivateSheets("Sheet2").SelectRows(3).Select

Note : Vous devez activer le classeur souhaité. Contrairement à l’objet Sheets, l’objet Workbook ne possède pas de méthode Select.

La sélection des lignes et des colonnes est-elle nécessaire ?

Cependant, il n’est (presque ?) jamais nécessaire de sélectionner réellement les lignes ou les colonnes. Vous n’avez pas besoin de sélectionner une Ligne ou une Colonne afin d’interagir avec elles. Au lieu de cela, vous pouvez appliquer des méthodes ou des propriétés directement aux lignes ou aux colonnes. Les prochaines sections démontreront différentes Méthodes et Propriétés qui peuvent être appliquées.

Vous pouvez utiliser n’importe quelle méthode listée ci-dessus pour faire référence aux Lignes ou aux Colonnes.

Méthodes et propriétés des lignes & Colonnes

Supprimer des lignes ou des colonnes entières

Pour supprimer des lignes ou des colonnes, utilisez la méthode de suppression :

Rows("1:4").Delete

ou:

Columns("A:D").Delete

Insérer des lignes ou des colonnes

Utiliser la méthode d’insertion pour insérer des lignes ou des colonnes:

Rows("1:4").Insert

ou :

Columns("A:D").Insert

Copier & Coller des lignes ou des colonnes entières

Coller dans une ligne ou une colonne existante

.

Lorsque vous copiez et collez des lignes ou des colonnes entières, vous devez décider si vous voulez coller sur une ligne / colonne existante ou si vous voulez insérer une nouvelle ligne / colonne pour coller vos données.

Ces premiers exemples vont copier et coller par-dessus une ligne ou une colonne existante :

Range("1:1").Copy Range("5:5")

ou

Range("C:C").Copy Range("E:E")

Insérer & Coller

Ces exemples suivants vont coller dans une ligne ou une colonne nouvellement insérée.

Ceci copiera la ligne 1 et l’insérera dans la ligne 5, décalant les lignes existantes vers le bas :

Range("1:1").CopyRange("5:5").Insert

Ceci copiera la colonne C et l’insérera dans la colonne E, décalant les colonnes existantes vers la droite :

Range("C:C").CopyRange("E:E").Insert

Cacher / Décacher les lignes et les colonnes

Pour cacher des lignes ou des colonnes, définissez leurs propriétés cachées sur True. Utilisez False pour masquer les lignes ou les colonnes:

'Hide RowsRows("2:3").EntireRow.Hidden = True'Unhide RowsRows("2:3").EntireRow.Hidden = False

ou

'Hide ColumnsColumns("B:C").EntireColumn.Hidden = True'Unhide ColumnsColumns("B:C").EntireColumn.Hidden = False

Grouper / Dégrouper les lignes et les colonnes

Si vous voulez grouper des lignes (ou des colonnes), utilisez un code comme celui-ci :

'Group RowsRows("3:5").Group'Group ColumnsColumns("C:D").Group

Pour supprimer le regroupement, utilisez ce code :

'Ungroup RowsRows("3:5").Ungroup'Ungroup ColumnsColumns("C:D").Ungroup

Ceci développera tous les niveaux de contour « groupés » :

ActiveSheet.Outline.ShowLevels RowLevels:=8, ColumnLevels:=8

et ceci réduira tous les niveaux de contour :

ActiveSheet.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1

Définir la hauteur de ligne ou la largeur de colonne

Pour définir la largeur de colonne, utilisez cette ligne de code :

Columns("A:E").ColumnWidth = 30

Pour définir la hauteur de ligne, utilisez cette ligne de code :

Rows("1:1").RowHeight = 30

Autofit Row Height / Column Width

To Autofit a column:

Columns("A:B").Autofit

To Autofit a row :

Rows("1:2").Autofit

Les lignes et les colonnes d’autres feuilles de calcul ou classeurs

Pour interagir avec les lignes et les colonnes d’autres feuilles de calcul, vous devez définir l’objet Sheets :

Sheets("Sheet2").Rows(3).Insert

De même, pour interagir avec les lignes et les colonnes d’autres classeurs, vous devez également définir l’objet Classeur :

Workbooks("book1.xlsm").Sheets("Sheet2").Rows(3).Insert

Get Active Row or Column

Pour obtenir la ligne ou la colonne active, vous pouvez utiliser les propriétés Row et Column de l’objet ActiveCell.

MsgBox ActiveCell.Row

ou

MsgBox ActiveCell.Column

Cela fonctionne également avec l’objet Range:

MsgBox Range("B3").Column

.

Laisser un commentaire

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