VBA – Sélectionner (et Interagir avec) des Lignes et des Colonnes Entières
In this Article
- Sélectionner des Lignes ou des Colonnes Entières
- Méthodes et Propriétés des Lignes et des Colonnes
- Supprimer des Lignes ou des Colonnes Entières
- Insertion de Lignes ou de Colonnes
- Copier et Coller des Lignes ou des Colonnes Entières
- Masquer/Afficher des Lignes et des Colonnes
- Grouper/Dégrouper des Lignes et des Colonnes
- Définir la Hauteur des Lignes ou la Largeur des Colonnes
- Ajustement Automatique de la Hauteur des Lignes et de la Largeur des Colonnes
- Lignes et Colonnes sur d’Autres Feuilles de Calcul ou Classeurs
- Obtenir la Ligne ou la Colonne Active
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