Supprimer des lignes en fonction d'une valeur de cellule (ou d'une condition) dans Excel (Guide facile)

Lorsque vous travaillez avec de grands ensembles de données, vous devrez peut-être supprimer rapidement des lignes en fonction des valeurs de cellule qu'il contient (ou en fonction d'une condition).

Par exemple, considérons les exemples suivants :

  1. Vous disposez de données sur les commerciaux et vous souhaitez supprimer tous les enregistrements d'une région ou d'un produit spécifique.
  2. Vous souhaitez supprimer tous les enregistrements dont la valeur de vente est inférieure à 100.
  3. Vous voulez supprimer toutes les lignes où il y a une cellule vide.

Il existe plusieurs façons de peaufiner ce chat de données dans Excel.

La méthode que vous choisissez pour supprimer les lignes dépendra de la façon dont vos données sont structurées et de la valeur de la cellule ou de la condition en fonction de laquelle vous souhaitez supprimer ces lignes.

Dans ce didacticiel, je vais vous montrer plusieurs façons de supprimer des lignes dans Excel en fonction d'une valeur de cellule ou d'une condition.

Filtrez les lignes en fonction de la valeur/condition, puis supprimez-les

L'un des moyens les plus rapides de supprimer des lignes contenant une valeur spécifique ou remplissant une condition donnée consiste à les filtrer. Une fois que vous avez les données filtrées, vous pouvez supprimer toutes ces lignes (tandis que les lignes restantes restent intactes).

Le filtre Excel est assez polyvalent et vous pouvez filtrer en fonction de nombreux critères (tels que le texte, les nombres, les dates et les couleurs)

Voyons deux exemples où vous pouvez filtrer les lignes et les supprimer.

Supprimer les lignes contenant un texte spécifique

Supposons que vous ayez un ensemble de données comme indiqué ci-dessous et que vous souhaitiez supprimer toutes les lignes où la région est Mid-west (dans la colonne B).

Bien que dans ce petit ensemble de données, vous puissiez choisir de supprimer ces lignes manuellement, vos ensembles de données seront souvent énormes et la suppression manuelle des lignes ne sera pas une option.

Dans ce cas, vous pouvez filtrer tous les enregistrements dont la région est Mid-West puis supprimer toutes ces lignes (tout en gardant les autres lignes intactes).

Vous trouverez ci-dessous les étapes pour supprimer des lignes en fonction de la valeur (tous les enregistrements Mid-West) :

  1. Sélectionnez n'importe quelle cellule de l'ensemble de données dont vous souhaitez supprimer les lignes
  2. Cliquez sur l'onglet Données
  3. Dans le groupe « Trier et filtrer », cliquez sur l'icône Filtrer. Cela appliquera des filtres à toutes les cellules d'en-tête de l'ensemble de données
  4. Cliquez sur l'icône Filtre dans la cellule d'en-tête Région (il s'agit d'une petite icône en forme de triangle pointant vers le bas en haut à droite de la cellule)
  5. Désélectionnez toutes les autres options à l'exception de l'option Mid-West (un moyen rapide de le faire est de cliquer sur l'option Sélectionner tout, puis sur l'option Mid-West). Cela filtrera l'ensemble de données et ne vous montrera que les enregistrements de la région du Mid-West.
  6. Sélectionnez tous les enregistrements filtrés
  7. Faites un clic droit sur l'une des cellules sélectionnées et cliquez sur "Supprimer la ligne"
  8. Dans la boîte de dialogue qui s'ouvre, cliquez sur OK. À ce stade, vous ne verrez aucun enregistrement dans l'ensemble de données.
  9. Cliquez sur l'onglet Données et cliquez sur l'icône Filtre. Cela supprimera le filtre et vous verrez tous les enregistrements sauf ceux supprimés.

Les étapes ci-dessus filtrent d'abord les données en fonction d'une valeur de cellule (ou peuvent être une autre condition telle qu'après/avant une date ou supérieure/inférieure à un nombre). Une fois que vous avez les enregistrements, vous les supprimez simplement.

Quelques raccourcis utiles à connaître pour accélérer le processus :

  1. Contrôle + Maj + L pour appliquer ou supprimer le filtre
  2. Contrôle + - (maintenez la touche Ctrl enfoncée et appuyez sur la touche moins) pour supprimer les cellules/lignes sélectionnées

Dans l'exemple ci-dessus, je n'avais que quatre régions distinctes et je pouvais les sélectionner et les désélectionner manuellement dans la liste Filtre (aux étapes 5 ci-dessus).

Si vous avez beaucoup de catégories/régions, vous pouvez taper le nom dans le champ juste au-dessus de la zone (qui contient ces noms de région), et Excel ne vous montrera que les enregistrements qui correspondent au texte saisi (comme indiqué ci-dessous). Une fois que vous avez le texte en fonction duquel vous souhaitez filtrer, appuyez sur la touche Entrée.

Notez que lorsque vous supprimez une ligne, tout ce que vous pourriez avoir dans d'autres cellules de ces lignes sera perdu. Une façon de contourner ce problème consiste à créer une copie des données dans une autre feuille de calcul et à supprimer les lignes des données copiées. Une fois cela fait, copiez-le à la place des données d'origine.

Ou alors

Vous pouvez utiliser les méthodes présentées plus loin dans ce didacticiel (à l'aide de la méthode Sort ou de la méthode Find All)

Supprimer des lignes en fonction d'une condition numérique

Tout comme j'ai utilisé la méthode de filtrage pour supprimer toutes les lignes contenant le texte Mid-West, vous pouvez également utiliser une condition de nombre (ou une condition de date).

Par exemple, supposons que j'ai l'ensemble de données ci-dessous et que je souhaite supprimer toutes les lignes où la valeur de vente est inférieure à 200.

Vous trouverez ci-dessous les étapes à suivre :

  1. Sélectionnez n'importe quelle cellule dans les données
  2. Cliquez sur l'onglet Données
  3. Dans le groupe « Trier et filtrer », cliquez sur l'icône Filtrer. Cela appliquera des filtres à toutes les cellules d'en-tête de l'ensemble de données
  4. Cliquez sur l'icône Filtre dans la cellule d'en-tête Ventes (il s'agit d'une petite icône en forme de triangle pointant vers le bas en haut à droite de la cellule)
  5. Passez le curseur sur l'option Filtres numériques. Cela vous montrera toutes les options de filtre liées au nombre dans Excel.
  6. Cliquez sur l'option « Moins de ».
  7. Dans la boîte de dialogue « Personnaliser le filtre automatique » qui s'ouvre, entrez la valeur « 200 » dans le champ
  8. Cliquez sur OK. Cela filtrera et affichera uniquement les enregistrements dont la valeur des ventes est inférieure à 200
  9. Sélectionnez tous les enregistrements filtrés
  10. Faites un clic droit sur l'une des cellules et cliquez sur Supprimer la ligne
  11. Dans la boîte de dialogue qui s'ouvre, cliquez sur OK. À ce stade, vous ne verrez aucun enregistrement dans l'ensemble de données.
  12. Cliquez sur l'onglet Données et cliquez sur l'icône Filtre. Cela supprimera le filtre et vous verrez tous les enregistrements sauf ceux supprimés.

Il existe de nombreux filtres numériques que vous pouvez utiliser dans Excel - tels que inférieur/supérieur à, égal/différent, entre, top 10, supérieur ou inférieur à la moyenne, etc.

Remarque : Vous pouvez également utiliser plusieurs filtres. Par exemple, vous pouvez supprimer toutes les lignes où la valeur des ventes est supérieure à 200 mais inférieure à 500. Dans ce cas, vous devez utiliser deux conditions de filtre. La boîte de dialogue Filtre automatique personnalisé permet d'avoir deux critères de filtrage (ET et OU).

Tout comme les filtres numériques, vous pouvez également filtrer les enregistrements en fonction de la date. Par exemple, si vous souhaitez supprimer tous les enregistrements du premier trimestre, vous pouvez le faire en suivant les mêmes étapes ci-dessus. Lorsque vous travaillez avec des filtres de date, Excel vous affiche automatiquement les filtres pertinents (comme indiqué ci-dessous).

Bien que le filtrage soit un excellent moyen de supprimer rapidement des lignes en fonction d'une valeur ou d'une condition, il présente un inconvénient : il supprime la ligne entière. Par exemple, dans le cas ci-dessous, cela supprimerait toutes les données qui se trouvent à droite de l'ensemble de données filtré.

Que se passe-t-il si je souhaite uniquement supprimer des enregistrements de l'ensemble de données, mais que je souhaite conserver les données restantes intactes.

Vous ne pouvez pas faire cela avec le filtrage, mais vous pouvez le faire avec le tri.

Trier l'ensemble de données, puis supprimer les lignes

Bien que le tri soit un autre moyen de supprimer des lignes en fonction de la valeur, mais dans la plupart des cas, il vaut mieux utiliser la méthode de filtrage décrite ci-dessus.

Cette technique de tri est recommandée uniquement lorsque vous souhaitez supprimer les cellules avec les valeurs et non les lignes entières.

Supposons que vous ayez un jeu de données comme indiqué ci-dessous et que vous souhaitiez supprimer tous les enregistrements où la région est Mid-west.

Voici les étapes pour le faire en utilisant le tri :

  1. Sélectionnez n'importe quelle cellule dans les données
  2. Cliquez sur l'onglet Données
  3. Dans le groupe Trier et filtrer, cliquez sur l'icône Trier.
  4. Dans la boîte de dialogue Trier qui s'ouvre, sélectionnez Région dans la colonne Trier par.
  5. Dans l'option Trier sur, assurez-vous que les valeurs de la cellule sont sélectionnées
  6. Dans l'option Commande, sélectionnez A à Z (ou Z à A, n'a pas vraiment d'importance).
  7. Cliquez sur OK. Cela vous donnera l'ensemble de données trié comme indiqué ci-dessous (trié par colonne B).
  8. Sélectionnez tous les enregistrements avec la région Mid-West (toutes les cellules des lignes, pas seulement la colonne de région)
  9. Une fois sélectionné, faites un clic droit puis cliquez sur Supprimer. Cela ouvrira la boîte de dialogue Supprimer.
  10. Assurez-vous que l'option "Décaler les cellules vers le haut" est sélectionnée.
  11. Cliquez sur OK.

Les étapes ci-dessus supprimeraient tous les enregistrements où la région était Mid-West, mais cela ne supprimerait pas la ligne entière. Ainsi, si vous avez des données à droite ou à gauche de votre ensemble de données, elles resteront indemnes.

Dans l'exemple ci-dessus, j'ai trié les données en fonction de la valeur de la cellule, mais vous pouvez également utiliser les mêmes étapes pour trier en fonction des nombres, des dates, de la couleur de la cellule ou de la couleur de la police, etc.

Voici un guide détaillé sur la façon de trier les données dans Excel
Si vous souhaitez conserver l'ordre de l'ensemble de données d'origine mais supprimer les enregistrements en fonction de critères, vous devez disposer d'un moyen de trier les données à l'original. Pour ce faire, ajoutez une colonne avec des numéros de série avant de trier les données. Une fois que vous avez terminé de supprimer les lignes/enregistrements, triez simplement en fonction de cette colonne supplémentaire que vous avez ajoutée.

Recherchez et sélectionnez les cellules en fonction de la valeur de la cellule, puis supprimez les lignes

Excel dispose d'une fonctionnalité Rechercher et remplacer qui peut être utile lorsque vous souhaitez rechercher et sélectionner des cellules avec une valeur spécifique.

Une fois que vous avez sélectionné ces cellules, vous pouvez facilement supprimer les lignes.

Supposons que vous ayez l'ensemble de données comme indiqué ci-dessous et que vous souhaitiez supprimer toutes les lignes où la région est Mid-West.

Vous trouverez ci-dessous les étapes à suivre :

  1. Sélectionnez l'ensemble de données
  2. Cliquez sur l'onglet Accueil
  3. Dans le groupe Édition, cliquez sur l'option « Rechercher et sélectionner », puis cliquez sur Rechercher (vous pouvez également utiliser le raccourci clavier Ctrl + F).
  4. Dans la boîte de dialogue Rechercher et remplacer, saisissez le texte « Mid-West » dans le champ « Rechercher quoi : ».
  5. Cliquez sur Rechercher tout. Cela vous montrera instantanément toutes les instances du texte Mid-West qu'Excel a pu trouver.
  6. Utilisez le raccourci clavier Ctrl + A pour sélectionner toutes les cellules trouvées par Excel. Vous pourrez également voir toutes les cellules sélectionnées dans l'ensemble de données.
  7. Faites un clic droit sur l'une des cellules sélectionnées et cliquez sur Supprimer. Cela ouvrira la boîte de dialogue Supprimer.
  8. Sélectionnez l'option « Ligne entière »
  9. Cliquez sur OK.

Les étapes ci-dessus supprimeraient toutes les cellules où la valeur de la région est Mid-west.

Remarque : Étant donné que Rechercher et remplacer peut gérer les caractères génériques, vous pouvez les utiliser lors de la recherche de données dans Excel. Par exemple, si vous souhaitez supprimer toutes les lignes où la région est soit Mid-West soit South-West, vous pouvez utiliser '*Ouest' comme texte à rechercher dans la boîte de dialogue Rechercher et remplacer. Cela vous donnera toutes les cellules où le texte se termine par le mot West.

Supprimer toutes les lignes avec une cellule vide

Si vous souhaitez supprimer toutes les lignes contenant des cellules vides, vous pouvez facilement le faire avec une fonctionnalité intégrée dans Excel.

C'est le Go-To Cellules spéciales option - qui vous permet de sélectionner rapidement toutes les cellules vides. Et une fois que vous avez sélectionné toutes les cellules vides, les supprimer est très simple.

Supposons que vous ayez l'ensemble de données comme indiqué ci-dessous et que je souhaite supprimer toutes les lignes où je n'ai pas la valeur de vente.

Vous trouverez ci-dessous les étapes à suivre :

  1. Sélectionnez l'ensemble de données (A1:D16 dans ce cas).
  2. appuie sur le F5 clé. Cela ouvrira la boîte de dialogue « Aller à » (vous pouvez également obtenir cette boîte de dialogue à partir de Accueil -> Édition -> Rechercher et sélectionner -> Aller à).
  3. Dans la boîte de dialogue « Aller à », cliquez sur le bouton Spécial. Cela ouvrira la boîte de dialogue « Aller à spécial »
  4. Dans la boîte de dialogue Go To Special, sélectionnez « Blanks ».
  5. Cliquez sur OK.

Les étapes ci-dessus sélectionneraient toutes les cellules vides dans l'ensemble de données.

Une fois que vous avez sélectionné les cellules vides, cliquez avec le bouton droit sur l'une des cellules et cliquez sur Supprimer.

Dans la boîte de dialogue Supprimer, sélectionnez l'option « Ligne entière » et cliquez sur OK. Cela supprimera toutes les lignes contenant des cellules vides.

Si vous souhaitez en savoir plus sur cette technique, j'ai écrit un didacticiel détaillé sur la suppression des lignes contenant des cellules vides. Il comprend la méthode « Go To Special » ainsi qu'une méthode VBA pour supprimer les lignes avec des cellules vides.

Filtrer et supprimer des lignes en fonction de la valeur de la cellule (à l'aide de VBA)

La dernière méthode que je vais vous montrer inclut un peu de VBA.

Vous pouvez utiliser cette méthode si vous devez souvent supprimer des lignes en fonction d'une valeur spécifique dans une colonne. Vous pouvez ajouter le code VBA une fois et l'ajouter à votre classeur de macros personnelles. De cette façon, il pourra être utilisé dans tous vos classeurs Excel.

Ce code fonctionne de la même manière que la méthode Filter décrite ci-dessus (à l'exception du fait que cela effectue toutes les étapes du backend et vous permet d'économiser quelques clics).

Supposons que vous ayez l'ensemble de données comme indiqué ci-dessous et que vous souhaitiez supprimer toutes les lignes où la région est Mid-West.

Vous trouverez ci-dessous le code VBA qui le fera.

Sub DeleteRowsWithSpecificText() 'Source:https://trumpexcel.com/delete-rows-based-on-cell-value/ ActiveCell.AutoFilter Field:=2, Criteria1:="Mid-West" ActiveSheet.AutoFilter.Range.Offset (1, 0).Rows.SpecialCells(xlCellTypeVisible).Delete End Sub

Le code ci-dessus utilise la méthode VBA Autofilter pour filtrer d'abord les lignes en fonction des critères spécifiés (qui est « Mid-West »), puis sélectionnez toutes les lignes filtrées et supprimez-les.

Notez que j'ai utilisé Offset dans le code ci-dessus pour m'assurer que ma ligne d'en-tête n'est pas supprimée.

Le code ci-dessus ne fonctionne pas si vos données se trouvent dans un tableau Excel. La raison en est qu'Excel considère un tableau Excel comme un objet de liste. Donc, si vous souhaitez supprimer des lignes qui se trouvent dans un tableau, vous devez modifier un peu le code (voir plus loin dans ce didacticiel).

Avant de supprimer les lignes, il vous affichera une invite comme indiqué ci-dessous. Je trouve cela utile car cela me permet de revérifier la ligne filtrée avant de la supprimer.

N'oubliez pas que lorsque vous supprimez des lignes à l'aide de VBA, vous ne pouvez pas annuler cette modification. Utilisez-le donc uniquement lorsque vous êtes sûr que cela fonctionne comme vous le souhaitez. En outre, c'est une bonne idée de conserver une copie de sauvegarde des données au cas où quelque chose se passerait mal.

Si vos données se trouvent dans un tableau Excel, utilisez le code ci-dessous pour supprimer les lignes contenant une valeur spécifique :

Sub DeleteRowsinTables() 'Source : https://trumpexcel.com/delete-rows-based-on-cell-value/ Dim Tbl As ListObject Set Tbl = ActiveSheet.ListObjects(1) ActiveCell.AutoFilter Field :=2, Criteria1 : ="Mid-West" Tbl.DataBodyRange.SpecialCells(xlCellTypeVisible).Delete End Sub

Étant donné que VBA considère Excel Table comme un objet de liste (et non une plage), j'ai dû modifier le code en conséquence.

Où mettre le code VBA ?

Ce code doit être placé dans le backend de l'éditeur VB dans un module.

Vous trouverez ci-dessous les étapes qui vous montreront comment procéder :

  1. Ouvrez le classeur dans lequel vous souhaitez ajouter ce code.
  2. Utilisez le raccourci clavier ALT + F11 pour ouvrir la fenêtre de l'éditeur VBA.
  3. Dans cette fenêtre de l'éditeur VBA, sur la gauche, il y a un volet "Explorateur de projet" (qui répertorie tous les classeurs et objets de feuilles de calcul). Cliquez avec le bouton droit sur n'importe quel objet du classeur (dans lequel vous souhaitez que ce code fonctionne), passez le curseur sur « Insérer », puis cliquez sur « Module ». Cela ajoutera l'objet Module au classeur et ouvrira également la fenêtre de code du module sur la droite
  4. Dans la fenêtre du module (qui apparaîtra à droite), copiez et collez le code ci-dessus.

Une fois que vous avez le code dans l'éditeur VB, vous pouvez exécuter le code en utilisant l'une des méthodes ci-dessous (assurez-vous d'avoir sélectionné n'importe quelle cellule de l'ensemble de données sur laquelle vous souhaitez exécuter ce code) :

  1. Sélectionnez n'importe quelle ligne du code et appuyez sur la touche F5.
  2. Cliquez sur le bouton Exécuter dans la barre d'outils de l'éditeur VB
  3. Attribuez la macro à un bouton ou à une forme et exécutez-la en cliquant dessus dans la feuille de calcul elle-même
  4. Ajoutez-le à la barre d'outils d'accès rapide et exécutez le code en un seul clic.

Vous pouvez tout savoir sur l'exécution du code de macro dans Excel dans cet article.

Remarque : étant donné que le classeur contient un code de macro VBA, vous devez l'enregistrer au format compatible avec les macros (xlsm).

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

wave wave wave wave wave