VBA Supprimer la ligne ou la colonne entière

Ce didacticiel montrera différentes manières de supprimer des lignes et des colonnes dans Excel à l'aide de VBA.

Supprimer la ligne ou la colonne entière

Pour supprimer une ligne entière dans VBA, utilisez cette ligne de code :

1 Lignes(1).Supprimer

Notez que nous utilisons le Effacer méthode pour supprimer une ligne.

Au lieu de faire référence au Objet de lignes, vous pouvez référencer des lignes en fonction de leur Objet de plage avec Ligne entière:

1 Range("a1").EntireRow.Delete

De la même manière, pour supprimer une colonne entière, utilisez ces lignes de code :

1 Colonnes(1).Supprimer
1 Plage("a1").Colonne entière.Supprimer

Supprimer plusieurs lignes ou colonnes

En utilisant la même logique, vous pouvez également supprimer plusieurs lignes à la fois :

1 Lignes("1:3").Supprimer

ou colonnes :

1 Colonnes("A:C").Supprimer

Notez ici que nous faisons référence aux numéros/lettres de ligne et de colonne spécifiques entourés de guillemets.

Bien entendu, vous pouvez également référencer l'EntireRow d'une plage :

1 Plage("a1:a10").EntireRow.Delete

Remarque : les exemples ci-dessous illustrent uniquement la suppression de lignes, mais comme vous pouvez le voir ci-dessus, la syntaxe est pratiquement identique pour supprimer des colonnes.

Supprimer les lignes vides/vides

Cet exemple supprimera une ligne si la ligne entière est vide :

1234567891011 Sub DeleteRows_EntireRowBlank()Cellule obscurcie en tant que plagePour chaque cellule de la plage ("b2:b20")Si Application.WorksheetFunction.CountA(cell.EntireRow) = 0 Alorscell.EntireRow.DeleteFin siCellule suivanteFin du sous-marin

Il utilise la fonction de feuille de calcul Excel : COUNTA.

Supprimer la ligne si la cellule est vide

Cela supprimera une ligne si une colonne spécifique de cette ligne est vide (dans ce cas, la colonne B) :

1 Range("b3:b20").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

Supprimer la ligne en fonction de la valeur de la cellule

Cela va parcourir une plage et supprimer des lignes si une certaine valeur de cellule dans cette ligne indique « supprimer ».

1234567891011 Sub DeleteRowswithSpecificValue()Cellule tamisée en tant que plagePour chaque cellule de la plage ("b2:b20")Si cell.Value = "delete" Thencell.EntireRow.DeleteFin siCellule suivanteFin du sous-marin

Plus d'exemples de suppression de lignes et de colonnes

Supprimer les lignes en double

Ce code supprimera toutes les lignes en double dans une plage :

1 Plage ("b2:c100").Supprimer les colonnes en double :=2

Notez que nous définissons Colonnes : = 2. Cela indique à VBA de vérifier les deux premières colonnes de données lorsqu'il examine si les lignes sont des doublons. Un doublon n'est trouvé que lorsque les deux colonnes ont des valeurs en double.

Si nous avions défini cela sur 1, seule la première ligne aurait été vérifiée pour les valeurs en double.

Supprimer des lignes de tableau

Ce code supprimera la deuxième ligne d'un tableau en référençant ListObjects.

1 ThisWorkbook.Sheets("Sheet1").ListObjects("list1").ListRows(2).Delete

Supprimer les lignes filtrées

Pour supprimer uniquement les lignes visibles après le filtrage :

1 Range("b3:b20").SpecialCells(xlCellTypeVisible).EntireRow.Delete

Supprimer des lignes dans la plage

Ce code supprimera toutes les lignes de la plage :

1 Plage("a1:a10").EntireRow.Delete

Supprimer les lignes sélectionnées

Ce code supprimera toutes les lignes sélectionnées :

1 Selection.EntireRow.Delete

Supprimer la dernière ligne

Cela supprimera la dernière ligne utilisée dans la colonne B :

1 Cells(Rows.Count, 2).End(xlUp).EntireRow.Delete

En changeant 2 en 1, vous pouvez supprimer la dernière ligne utilisée dans la colonne A, etc. :

1 Cells(Rows.Count, 1).End(xlUp).EntireRow.Delete

Supprimer des colonnes par numéro

Pour supprimer une colonne par son numéro, utilisez un code comme celui-ci :

1 Colonnes (2).Supprimer

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave