VBA – Sélectionner (et Interagir avec) des Lignes et des Colonnes Entières

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

David Gagnon

Last updated on janvier 12, 2022

Ce tutoriel montre comment sélectionner et interagir avec des lignes ou des colonnes entières en VBA. Nous verrons d’abord comment sélectionner des lignes et des colonnes entières, puis comment manipuler des lignes et des colonnes.

Sélectionner des Lignes ou des Colonnes Entières

Sélection d’une Seule Ligne

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

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élection d’une Seule Colonne

Au lieu de l’objet Rows, utilisez l’objet Columns pour sélectionner des colonnes. Avec le code suivant, vous pouvez faire référence à la colonne numéro 3 :

Columns(3).Select

ou en utilisant 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 vous référer spécifiquement à une colonne :

Range("B:B").Select

Sélection de Plusieurs Lignes ou Colonnes

La sélection de plusieurs lignes ou colonnes fonctionne exactement de la même manière que l’utilisation de 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 Active

Pour sélectionner la ligne ou la colonne d’une cellule active, 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

Afin de 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").Select
Rows(3).Select

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

Workbooks("Livre6.xlsm").Activate
Sheets("Sheet2").Select
Rows(3).Select

Remarque : 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 ?

Il n’est (presque) jamais nécessaire de sélectionner réellement des lignes ou des colonnes. Vous n’avez pas besoin de sélectionner une ligne ou une colonne pour interagir avec celle-ci. Au lieu de cela, vous pouvez appliquer des méthodes ou des propriétés directement sur les lignes ou les colonnes. Les sections suivantes présentent différentes méthodes et propriétés qui peuvent être appliquées.

Vous pouvez utiliser toutes les méthodes énumérées ci-dessus pour faire référence aux lignes ou aux colonnes.

Méthodes et Propriétés des Lignes et des Colonnes

Supprimer des Lignes ou des Colonnes Entières

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

Rows("1:4").Delete

ou :

Columns("A:D").Delete

Insertion de Lignes ou de Colonnes

Utilisez la méthode d’insertion « Insert » pour insérer des lignes ou des colonnes:

Rows("1:4").Insert

ou bien

Columns("A:D").Insert

Copier et 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 ou une colonne existante ou si vous voulez insérer une nouvelle ligne ou colonne pour coller vos données.

Les premiers exemples suivants copient et collent sur une ligne ou une colonne existante :

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

ou

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

Insérer et Coller

Les exemples suivants permettent de coller dans une ligne ou une colonne nouvellement insérée.

Nous allons copier la ligne 1 et l’insérer dans la ligne 5, en décalant les lignes existantes vers le bas :

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

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

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

Masquer/Afficher des Lignes et des Colonnes

Pour masquer des lignes ou des colonnes, définissez leur propriété « Hidden » (caché) sur True. Utilisez la valeur False pour afficher les lignes ou les colonnes :

' Masquer des lignes
Rows("2:3").EntireRow.Hidden = True

' Afficher des lignes
Rows("2:3").EntireRow.Hidden = False

ou

' Masquer les colonnes
Columns("B:C").EntireColumn.Hidden = True

' Afficher les colonnes
Columns("B:C").EntireColumn.Hidden = False

Grouper/Dégrouper des Lignes et des Colonnes

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

' Regrouper les lignes
Rows("3:5").Group

' Regrouper les colonnes
Columns("C:D").Group

Pour supprimer le regroupement, utilisez ce code :

' Dégrouper les lignes
Rows("3:5").Ungroup

' Dégrouper les colonnes
Columns("C:D").Ungroup

Ceci va développer tous les niveaux de plan « groupés » :

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

et ceci va réduire tous les niveaux de plan :

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

Définir la Hauteur des Lignes ou la Largeur des Colonnes

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

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

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

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

Ajustement Automatique de la Hauteur des Lignes et de la Largeur des Colonnes

Pour ajuster automatiquement une colonne:

Columns("A:B").Autofit

Pour ajuster automatiquement une ligne :

Rows("1:2").Autofit

Lignes et Colonnes sur 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 Workbook:

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

Obtenir la Ligne ou la Colonne Active

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
vba-free-addin

Module Complémentaire d'Exemples de Code VBA

Accédez facilement à tous les exemples disponibles sur le site.

Naviguez simplement dans le menu, cliquez, et le code sera inséré directement dans votre module. Module complémentaire .xlam.

(Aucune installation requise!)

Téléchargement gratuit

Retour aux exemples de code VBA