Ce didacticiel montrera comment utiliser VBA pour insérer des lignes et des colonnes dans Excel.
Pour insérer des lignes ou des colonnes, nous utiliserons le Méthode d'insertion.
Insérer une seule ligne ou colonne
Insérer une nouvelle ligne
Pour insérer une seule ligne, vous pouvez utiliser l'objet Rows :
1 | Lignes(4).Insérer |
Ou vous pouvez utiliser l'objet Range avec EntireRow :
1 | Range("b4").EntireRow.Insert |
Insérer une nouvelle colonne
Semblable à l'insertion de lignes, nous pouvons utiliser l'objet Columns pour insérer une colonne :
1 | Colonnes(4).Insérer |
Ou l'objet Range, avec EntireColumn :
1 | Plage("b4").Colonne entière.Insérer |
Insérer plusieurs lignes ou colonnes
Insérer plusieurs lignes
Lors de l'insertion de plusieurs lignes avec l'objet Rows, vous devez saisir les lignes entre guillemets :
1 | Lignes("4:6").Insérer |
L'insertion de plusieurs lignes avec l'objet Range fonctionne de la même manière qu'avec une seule ligne :
1 | Range("b4:b6").EntireRow.Insert |
Insérer plusieurs colonnes
Lors de l'insertion de plusieurs colonnes avec l'objet Colonnes, saisissez la colonne des lettres entre guillemets :
1 | Colonnes("B:D").Insérer |
L'insertion de plusieurs colonnes avec l'objet Range fonctionne de la même manière qu'avec une seule colonne :
1 | Plage("b4:d4").Colonne entière.Insérer |
Insérer - Shift & CopyOrigin
Les Méthode d'insertion a deux arguments facultatifs :
- Décalage - Dans quelle direction déplacer les cellules
- Copier l'origine - Quelle mise en forme de cellule copier (en haut, en bas, à gauche ou à droite)
L'argument Shift n'est pas pertinent lors de l'insertion de lignes ou de colonnes entières. Il vous permet seulement d'indiquer pour décaler vers le bas ou vers la droite :
- xlMajBas - Décaler les cellules vers le bas
- xlMajVersDroite - Déplacer les cellules vers la droite
Comme vous pouvez le voir, vous ne pouvez pas vous déplacer vers le haut ou vers la droite.
Les Copier l'origine argument a deux entrées potentielles:
- xlFormatDeGaucheAu-dessus - (0) Les cellules nouvellement insérées prennent la mise en forme à partir des cellules situées au-dessus ou à gauche
- xlFormatFromRightorBelow (1) Les cellules nouvellement insérées sont mises en forme à partir des cellules situées en dessous ou à droite.
Voyons quelques exemples de Copier l'origine argument. Voici nos données initiales :
Cet exemple insère une ligne en reprenant la mise en forme de la ligne ci-dessus.
1 | Rows(5).Insert , xlFormatFromLeftOrAbove |
Cet exemple insère une ligne, en prenant la mise en forme de la ligne ci-dessous.
1 | Rows(5).Insert , xlFormatFromRightOrBelow |
Autres exemples d'insertion
Insérer des lignes ou des colonnes copiées
Si vous souhaitez insérer une ligne copiée, vous utiliserez un code comme celui-ci :
12 | Plage("1:1").CopierPlage ("5:5").Insérer |
Ici, nous copions la ligne 1 et l'insérons à la ligne 5.
Insérer des lignes en fonction de la valeur de la cellule
Cela va parcourir une plage en insérant des lignes en fonction des valeurs de cellule :
1234567891011 | Sub InsertRowswithSpecificValue()Cellule tamisée en tant que plagePour chaque cellule de la plage ("b2:b20")Si cellule.Valeur = "insérer" Alorscell.EntireRow.InsertFin siCellule suivanteFin du sous-marin |
Supprimer des lignes ou des colonnes
Pour supprimer des lignes ou des colonnes, utilisez simplement le Effacer méthode.
1234567 | Lignes(1).SupprimerRange("a1").EntireRow.DeleteColonnes(1).SupprimerPlage("a1").Colonne entière.Supprimer |