Lorsque vous travaillez avec des tables de données contenant des informations que vous avez reçues d’une autre personne, vous souhaiterez peut-être élaguer la quantité de données dans la table en supprimant des lignes si une condition particulière est remplie. Il existe plusieurs manières d’aborder une telle tâche.

La première méthode consiste à utiliser la fonction de filtre automatique d’Excel. Cela fonctionne particulièrement bien si vous avez un critère assez simple pour supprimer des lignes. Lorsque vous activez le filtre automatique, Excel place des boutons déroulants sur le côté droit de chaque cellule dans la ligne d’en-tête de la table de données.

À l’aide de ces boutons déroulants, vous pouvez spécifier les enregistrements que vous souhaitez afficher. Vous devez sélectionner une valeur de filtre qui entraînera l’affichage uniquement des lignes que vous souhaitez supprimer. Avec ces lignes affichées, vous pouvez les sélectionner et utiliser les outils du ruban pour supprimer les lignes. Lorsque vous désactivez le filtre automatique, il ne vous reste que les lignes souhaitées.

Une autre méthode implique l’utilisation de macros pour effectuer la suppression à votre place.

Cette approche fonctionne bien si vous devez effectuer les suppressions sur de nombreuses données, ou si vous le faites assez souvent. La macro suivante peut supprimer des lignes en fonction d’une valeur de clé:

Sub DeleteRows()

Dim strToDelete As String     Dim rngSrc As Range     Dim NumRows As Integer     Dim ThisRow As Integer     Dim ThatRow As Integer     Dim ThisCol As Integer     Dim J As Integer     Dim DeletedRows As Integer

strToDelete = InputBox("Value to Trigger Delete?", "Delete Rows")

Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address)



NumRows = rngSrc.Rows.Count     ThisRow = rngSrc.Row     ThatRow = ThisRow + NumRows - 1     ThisCol = rngSrc.Column

For J = ThatRow To ThisRow Step -1         If Cells(J, ThisCol) = strToDelete Then             Rows(J).Select             Selection.Delete Shift:=xlUp             DeletedRows = DeletedRows + 1         End If     Next J     MsgBox "Number of deleted rows: " & DeletedRows End Sub

Pour utiliser la macro, sélectionnez la plage de la plage de clés qui couvre les lignes que vous souhaitez cocher. Par exemple, si la clé à vérifier se trouve dans la colonne G et que vous souhaitez vérifier les lignes 5 à 73, vous devez sélectionner la plage G5: G73. Lorsque vous exécutez la macro, elle vous demande quelle valeur elle doit vérifier. Si l’une des cellules de la plage G5: G73 contient la valeur que vous spécifiez, la ligne correspondante pour cette cellule sera supprimée.

Il existe évidemment d’autres moyens de supprimer des lignes en fonction d’une valeur. Pour une bonne sélection de différentes méthodes, jetez un œil à cette page de Dave Hawley chez Ozgrid:

http://www.ozgrid.com/VBA/VBACode.htm

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (12256) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.

Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Conditionally_Deleting_Rows [Suppression conditionnelle de lignes].