Table des matières
Si vous cherchez les moyens les plus simples de supprimer une rangée en utilisant VBA alors vous êtes au bon endroit.
Plongeons dans l'article principal.
Télécharger le cahier d'exercices
VBA Supprimer une rangée.xlsm14 façons de supprimer une rangée en utilisant VBA
Ici, j'ai les trois tableaux de données pour montrer les manières de supprimer des lignes en utilisant VBA Le premier tableau contient quelques Produits d'une entreprise et leur Tailles , Prix .
Le second a un peu Codes des produits et leurs correspondants Tailles des produits et Prix
Et le dernier contient des Noms des projets et leurs Dates de début et Coûts .
Pour créer l'article, j'ai utilisé Microsoft Excel 365 vous pouvez utiliser toute autre version selon votre convenance.
Méthode 1 : supprimer une seule ligne en utilisant VBA
Disons que vous voulez supprimer la ligne contenant Produit Chaussure 1, et pour supprimer cette seule ligne, vous pouvez suivre cette méthode.
Step-01 :
➤Go to Développeur Tab>> ; Visual Basic Option
Ensuite, le Éditeur Visual Basic s'ouvrira.
➤Go to Insérer Tab>> ; Module Option
Après cela, un Module sera créé.
Step-02 :
➤Write the following code
Sub dltrow1() Worksheets("Single").Rows(7).EntireRow.Delete End Sub
Ici, "Simple" est le nom de la feuille de calcul, et Rangs(7) sélectionnera le numéro de ligne.
.EntireRow.Delete supprimera toute la ligne 7.
➤Press F5
Résultat :
De cette façon, vous supprimerez la ligne contenant le numéro d'identification de l'utilisateur. Produit nom Chaussure 1 .
Lire la suite : Comment supprimer des lignes dans Excel : 7 méthodes
Méthode 2 : Suppression de plusieurs lignes à l'aide de VBA
Si vous voulez supprimer plusieurs lignes, comme les lignes contenant l'élément Produit noms Chaussure 1 , Chaussure2, et Chaussure3 alors vous pouvez suivre ceci VBA code.
Step-01 :
➤Follow Step-01 de Méthode 1
Sub dltrow2() Rows(13).EntireRow.Delete Rows(10).EntireRow.Delete Rows(7).EntireRow.Delete End Sub
Ici, les numéros de ligne 13, 10, et 7 seront supprimés et pour écrire en série les numéros de ligne, vous devez écrire du dernier numéro de ligne au premier numéro de ligne comme ce code.
Sinon, après avoir supprimé la première rangée comme la rangée 7, les rangées restantes sous cette rangée se déplaceront d'une rangée vers le haut et ainsi la rangée 10 sera la rangée 9, et la rangée 13 sera la rangée 12. Pour cette raison, vous ne pourrez pas supprimer les rangées correctes.
➤Press F5
Résultat :
Ensuite, vous supprimerez les lignes contenant les éléments suivants Produit noms Chaussure 1 , Chaussure2, et Chaussure3 .
Lire la suite : Comment supprimer plusieurs lignes dans Excel (3 méthodes)
Méthode-3 : Suppression d'une ligne en sélectionnant
Ici, je vais montrer comment supprimer une ligne par rapport à une cellule active de cette ligne.
Step-01 :
➤Follow Step-01 de Méthode 1
Sub dltrow3() ActiveCell.EntireRow.Delete End Sub
Cela supprimera la ligne ayant une cellule active.
➤Save the code.
Step-02 :
➤Sélectionnez n'importe quelle cellule d'une ligne que vous voulez supprimer ( Ici, j'ai sélectionné la cellule . B7 )
➤Go to Développeur Tab>> ; Macros Option
Après cela, le Macro L'assistant s'ouvre.
➤Sélectionnez le Nom de la macro dltrow3 et appuyez sur Exécuter
Résultat :
Par la suite, vous supprimerez la ligne contenant l'élément Produit nom Chaussure 1 .
Méthode 4 : Suppression de toutes les lignes de la sélection
Pour supprimer toutes les lignes d'une sélection, vous pouvez suivre cette méthode.
Step-01 :
➤Follow Step-01 de Méthode 1
Sub dltrow4() Selection.EntireRow.Delete End Sub
Cela supprimera toutes les lignes de la sélection.
➤Save the code.
Step-02 :
➤Sélectionnez la plage de lignes que vous souhaitez supprimer (Ici, j'ai sélectionné la plage... B7:D9 )
➤Go to Développeur Tab>> ; Macros Option
Après cela, le Macro L'assistant s'ouvre.
➤Sélectionnez le Nom de la macro dltrow4 et appuyez sur Exécuter
Résultat :
Ensuite, vous supprimerez les lignes contenant les éléments suivants Produit noms Chaussure 1 , Veste 1, et Veste2 .
Lire la suite : Comment supprimer les lignes sélectionnées dans Excel (8 approches)
Méthode 5 : Suppression d'une rangée si une cellule est vide
Ici, j'ai une cellule vide qui est B9 (j'ai supprimé la valeur de cette cellule pour cette méthode), et en utilisant un fichier VBA je vais supprimer la ligne ayant B9 cellule.
Step-01 :
➤Follow Step-01 de Méthode 1
Sub dltrow5() Range("B5:D13").SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub
Il supprimera toutes les lignes de l'intervalle "B5:D13" ayant une cellule vide.
➤Press F5
Résultat :
Vous pourrez alors supprimer la ligne contenant la cellule vide.
Lire la suite : Comment supprimer les lignes vides dans Excel (11 méthodes)
Méthode 6 : Suppression d'une rangée si la rangée entière est vide
Ici, j'ai une cellule vide qui est B9 (j'ai supprimé les valeurs pour cette méthode), et une rangée vide qui est la rangée 12 (j'ai supprimé les valeurs pour cette méthode), et en utilisant une fonction VBA et le Fonction COUNTA Je vais supprimer la ligne qui est vide.
Step-01 :
➤Follow Step-01 de Méthode 1
Sub dltrow6() Dim cell As Range For Each cell In Range("B5:D13") If Application.WorksheetFunction.CountA(cell.EntireRow) = 0 Then cell.EntireRow.Delete End If Next cell End Sub
"B5:D13" est la plage de données et POUR La boucle fonctionnera pour chaque cellule de cette plage.
CountA(cell.EntireRow) renvoie le nombre de cellules non vides et lorsqu'il atteint 0, la ligne est supprimée.
➤Press F5
Résultat :
Après cela, vous pourrez supprimer la ligne vide, mais aucune ligne dont toutes les cellules ne sont pas vides ne sera supprimée.
Lire la suite : Comment utiliser VBA pour supprimer les lignes vides dans Excel
Méthode 7 : Suppression de chaque nième rangée
Vous pouvez supprimer chaque nième ligne (dans ce cas, chaque troisième ligne) en suivant cette méthode.
Step-01 :
➤Follow Step-01 de Méthode 1
Sub dltrow7() rc = Range("B5:D13").Rows.Count For i = rc To 1 Step -3 Range("B5:D13").Rows(i).EntireRow.Delete Next i End Sub
"B5:D13" est la plage de données et rc retournera le nombre total de lignes de cette plage, soit 9 .
Ici, le POUR La boucle commencera à partir de la dernière ligne qui est rc ou 9 dans ce cas et se termine par la première ligne.
Étape 3 permettra de supprimer chaque 3ème rangée dans cette plage.
➤Press F5
Résultat :
Ensuite, vous supprimerez les lignes contenant les éléments suivants Produit noms Chaussure 1 , Chaussure2, et Chaussure3 .
Lire la suite : Comment supprimer chaque nième rangée dans Excel (6 façons les plus simples)
Lectures similaires :
- Comment supprimer des rangées sélectionnées avec Excel VBA (guide étape par étape)
- Supprimer les lignes inutilisées dans Excel (8 méthodes simples)
- Comment supprimer les lignes cachées dans Excel (3 méthodes)
- Supprimer des lignes infinies dans Excel (5 façons simples)
- Comment supprimer les lignes qui s'éternisent dans Excel (4 méthodes simples)
Méthode 8 : Suppression d'une rangée basée sur la valeur d'une cellule
Dans cette méthode, je vais supprimer la ligne ayant une valeur spécifique. Chemise 2 .
Step-01 :
➤Follow Step-01 de Méthode 1
Sub dltrow8() Dim cell As Range For Each cell In Range("B5:D13") If cell.Value = "Shirt 2" Then cell.EntireRow.Delete End If Next cell End Sub
"B5:D13" est la plage de données et le POUR La boucle fonctionnera pour chaque cellule de cette plage.
Si une cellule d'une ligne contient la valeur "Chemise 2" alors la ligne sera supprimée.
➤Press F5
Résultat :
De cette manière, vous supprimerez la ligne contenant le fichier Produit nom Chemise 2 .
Lire la suite : Macro VBA pour supprimer une ligne si la cellule contient une valeur dans Excel (2 méthodes)
Méthode-9 : Suppression des rangées en double
Ici, j'ai deux lignes ayant un Code produit 97375 et donc je veux supprimer une de ces lignes qui sont marquées par une boîte rouge ci-dessous.
Step-01 :
➤Follow Step-01 de Méthode 1
Sub dltrow9() Range("B5:D13").RemoveDuplicates Columns:=1 End Sub
Ici, "B5:D13" est la plage de données et Colonnes : =1 signifie qu'il recherchera les valeurs en double uniquement dans une colonne, qui est la colonne de départ. Colonne B mais si vous souhaitez effectuer des recherches dans d'autres colonnes également, vous pouvez utiliser ce nombre en fonction de vos besoins.
➤Press F5
Résultat :
Ensuite, vous pourrez supprimer la ligne qui est similaire à une autre ligne.
Lire la suite : Comment supprimer les lignes en double dans Excel avec VBA (8 méthodes efficaces)
Méthode-10 : Suppression de lignes dans un tableau
Supposons que vous avez la table suivante dont le nom est Tableau 1 et maintenant vous voulez supprimer la rangée numéro 6 de ce tableau. Pour ce faire, vous pouvez suivre cette méthode.
Step-01 :
➤Follow Step-01 de Méthode 1
Sub dltrow10() ActiveWorkbook.Worksheets("Table").ListObjects("Table1").ListRows(6).Delete End Sub
Ici, "Table" est le nom de la feuille, "Table1" est le nom de la table et 6 est le numéro de ligne de cette table que vous voulez supprimer.
➤Press F5
Résultat :
De cette façon, vous supprimerez la ligne souhaitée de ce tableau.
Lire la suite : Comment supprimer les lignes en double basées sur une colonne en utilisant Excel VBA
Méthode-11 : Suppression des lignes visibles après le filtrage
Ici, j'ai un tableau de données qui est filtré par l'élément Prix pour les valeurs supérieures à $1,500.00 et je veux supprimer toutes les lignes visibles après le filtrage.
Step-01 :
➤Follow Step-01 de Méthode 1
Sub dltrow11() Range("B5:D13").SpecialCells(xlCellTypeVisible).EntireRow.Delete End Sub
Ici, "B5:D13" est la plage de données.
➤Press F5
Maintenant, toutes les lignes visibles après le filtrage seront supprimées. Vous pouvez maintenant faire revenir les lignes cachées en sélectionnant l'option Filtre signe dans le Prix colonne.
➤Cliquez sur le Sélectionner tout option
➤Press OK
Résultat :
Enfin, vous récupérerez les lignes cachées dans le tableau de données.
Lire la suite : Comment filtrer et supprimer des lignes avec VBA dans Excel (2 méthodes)
Méthode 12 : Suppression d'une rangée basée sur la dernière cellule active
Ici, ma dernière cellule active est la cellule B13 et je veux supprimer cette ayant la dernière cellule active du tableau de données suivant.
Step-01 :
➤Follow Step-01 de Méthode 1
Sub dltrow12() Cells(Rows.Count, 2).End(xlUp).EntireRow.Delete End Sub
Ici, 2 signifie Colonne B sur lequel j'ai ma cellule active, vous pouvez changer le numéro en fonction de vos besoins.
➤Press F5
Résultat :
De cette façon, vous supprimerez votre dernière ligne active.
Lire la suite : Code Excel VBA pour supprimer des lignes en fonction de la valeur de plusieurs cellules (3 critères)
Méthode 13 : Suppression des lignes ayant des chaînes de caractères quelconques
Supposons que vous vouliez supprimer les lignes ayant une chaîne quelconque, et pour ce faire, vous pouvez suivre cette méthode.
Step-01 :
➤Follow Step-01 de Méthode 1
Sub dltrow13() Dim FirstRow As Long Dim LastRow As Long Dim FirstColumn As Long Dim LastColumn As Long Dim sheet As Worksheet Dim Rng As Range FirstRow = 5 FirstColumn = 2 Set sheet = Worksheets("String") With sheet With .Cells LastRow = .Find(What:="*", LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row LastColumn = .Find(What:="*",LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column End With Set Rng = .Range(.Cells(FirstRow, FirstColumn), .Cells(LastRow, LastColumn)) End With On Error Resume Next Rng.SpecialCells(xlCellTypeConstants, xlTextValues).EntireRow.Delete End Sub
Ici, "string" est le nom de la feuille, le numéro de la première rangée de cette plage de données est 5 et le numéro de la colonne de départ est 2
Le site Avec vous permet de spécifier un objet ou un type défini par l'utilisateur une seule fois pour toute une série de déclarations.
En cas d'erreur, reprendre la suite spécifie que, lorsqu'une erreur d'exécution se produit, le contrôle passe à l'instruction qui suit celle où l'erreur se produit.
LastRow et DernièreColonne renvoie la dernière ligne et la dernière colonne de la plage de données.
Cellules spéciales (xlCellTypeConstants, xlTextValues) sélectionnera les lignes ayant des valeurs de texte dans la plage.
➤Press F5
Résultat :
Ensuite, vous supprimerez les lignes contenant une chaîne de texte quelconque.
Lire la suite : Raccourci Excel pour supprimer des lignes (avec techniques en prime)
Méthode 14 : Suppression d'une rangée basée sur des dates
Ici, je vais supprimer les lignes ayant une date spéciale. 11/12/2021 (mm/jj/aaaa) dans cette méthode en utilisant l'option Fonction DATEVALUE .
Step-01 :
➤Follow Step-01 de Méthode 1
Sub dltrow14() Dim FirstRow As Long Dim LastRow As Long Dim CriteriaColumn As Long Dim myDate As Date Dim sheet As Worksheet Dim i As Long Dim myRowsWithDate As Range FirstRow = 5 CriteriaColumn = 3 myDate = DateValue("11/12/2021") Set sheet = Worksheets("Date") With sheet LastRow = .Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, _ SearchOrder:=xlByRows,SearchDirection:=xlPrevious).Row For i = LastRow To FirstRow Step -1 With .Cells(i, CriteriaColumn) If .Value = myDate Then If Not myRowsWithDate Is Nothing Then Set myRowsWithDate = Union(myRowsWithDate, .Cells) Else Set myRowsWithDate = .Cells End If End WithNext i End With If Not myRowsWithDate Is Nothing Then myRowsWithDate.EntireRow.Delete End Sub
Ici, "Date" est le nom de la feuille, le numéro de la première rangée de cette plage de données est 5 et le numéro de la colonne de critères (qui contient des dates) est le suivant 3 .
Le site Avec vous permet de spécifier un objet ou un type défini par l'utilisateur une seule fois pour toute une série de déclarations.
En cas d'erreur, reprendre la suite spécifie que, lorsqu'une erreur d'exécution se produit, le contrôle passe à l'instruction qui suit celle où l'erreur se produit.
LastRow renvoie la dernière ligne de la plage de données et, ici, l'option POUR La boucle commencera à partir de la dernière ligne qui est LastRow ou 6 dans ce cas, et se termine par la première ligne.
DATEVALUE convertira la date du texte en valeur.
Ici, Union retournera l'union de plusieurs plages correspondant aux cellules ayant la date 11/12/2021 et enfin, les plages seront supprimées.
➤Press F5
Résultat :
Après cela, vous supprimerez les lignes ayant une certaine date de 11/12/2021 .
Contenu connexe : Excel VBA pour supprimer des lignes contenant des données spécifiques (9 exemples)
Section pratique
Pour vous entraîner vous-même, nous avons fourni un Pratique comme ci-dessous dans une feuille nommée Pratique S'il vous plaît, faites-le vous-même.
Conclusion
Dans cet article, j'ai essayé de couvrir les méthodes les plus simples pour utiliser VBA efficacement pour la suppression des rangs. J'espère que vous trouverez cela utile. Si vous avez des suggestions ou des questions, n'hésitez pas à les partager dans la section des commentaires.