VBA – Insérer une Ligne ou une Colonne

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

David Gagnon

Last updated on décembre 23, 2021

Ce tutoriel montre comment utiliser VBA pour insérer des lignes et des colonnes dans Excel.

Pour insérer des lignes ou des colonnes, nous utiliserons la fonction VBA Insert (« insertion »).

Insertion d’une Seule Ligne ou Colonne

Insérer une Nouvelle Ligne

Pour insérer une seule ligne, vous pouvez utiliser l’objet Rows :

Rows(4).Insert

Ou vous pouvez utiliser l’objet Range avec l’objet EntireRow qui représente la ligne entière :

Range("b4").EntireRow.Insert

Insertion d’une Nouvelle Colonne

Comme pour l’insertion de lignes, nous pouvons utiliser l’objet Columns pour insérer une colonne :

Columns(4).Insert

Ou l’objet Range, avec l’objet EntireColumn qui représente la colonne entière:

Range("b4").EntireColumn.Insert

Insertion de Plusieurs Lignes ou Colonnes

Insertion de Lignes Multiples

Lorsque vous insérez plusieurs lignes avec l’objet Rows, vous devez entrer les lignes entre guillemets :

Rows("4:6").Insert

L’insertion de plusieurs lignes avec l’objet Range fonctionne de la même façon qu’avec une seule ligne :

Range("b4:b6").EntireRow.Insert

Insertion de Plusieurs Colonnes

Lors de l’insertion de plusieurs colonnes à l’aide de l’objet Columns, saisissez les lettres des colonnes entre guillemets :

Columns("B:D").Insert

L’insertion de plusieurs colonnes avec l’objet Range fonctionne de la même façon qu’avec une seule colonne :

Range("b4:d4").EntireColumn.Insert

Insert – Les Arguments Shift et CopyOrigin

La méthode d’insertion « Insert » comporte deux arguments facultatifs :

  • Shift – Dans quelle direction déplacer les cellules
  • CopyOrigin – Quelle cellule utiliser pour copier le formatage (au-dessus, au-dessous, à gauche ou à droite)

L’argument Shift n’est pas utile lors de l’insertion de lignes ou de colonnes entières. Il vous permet uniquement d’indiquer un décalage vers le bas ou vers la droite :

  • xlShiftDown – Déplace les cellules vers le bas
  • xlShiftToRight – Déplace les cellules vers la droite

Comme vous pouvez le constater, il n’est pas possible de se décaler vers le haut ou vers la gauche.

L’argument CopyOrigin a deux entrées potentielles :

  • xlFormatFromLeftorAbove – (0) Les cellules nouvellement insérées prennent le formatage des cellules situées au-dessus ou à gauche
  • xlFormatFromRightorBelow – (1) Les cellules nouvellement insérées sont formatées à partir des cellules situées en dessous ou à droite.

Voyons quelques exemples de l’argument CopyOrigin. Voici nos données initiales :

Cet exemple va insérer une ligne en reprenant le formatage de la ligne précédente.

Rows(5).Insert , xlFormatFromLeftOrAbove

Cet exemple insère une ligne en reprenant le formatage de la ligne inférieure.

Rows(5).Insert , xlFormatFromRightOrBelow

Autres Exemples d’Insertion

Insertion de Lignes ou de Colonnes Copiées

Si vous souhaitez insérer une ligne copiée, vous devez utiliser un code comme celui-ci :

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

Ici, nous copions la rangée 1 et l’insérons à la rangée 5.

Insertion de Lignes en Fonction de la Valeur de la Cellule

Cette fonction permet de parcourir une plage en boucle et d’insérer des lignes en fonction des valeurs des cellules:

Sub InsererLignesSelonValeurSpécifique()
 
Dim cell As Range
 
For Each cell In Range("b2:b20")
    If cell.Value = "insérer" Then
        cell.EntireRow.Insert
    End If
Next cell
 
End Sub

Supprimer des Lignes ou des Colonnes

Pour supprimer des lignes ou des colonnes, il suffit d’utiliser la méthode Delete.

Rows(1).Delete

Range("a1").EntireRow.Delete

Columns(1).Delete

Range("a1").EntireColumn.Delete
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