Accéder au contenu principal

Comment effacer le contenu des cellules en fonction d'une condition dans Excel ?

Author: Xiaoyang Last Modified: 2025-05-27

Parfois, vous pourriez avoir besoin d'effacer le contenu des cellules en fonction de certaines conditions dans Excel, comme effacer le contenu si une cellule contient une valeur spécifique, effacer le contenu si des cellules sont vides dans une autre colonne, ou encore effacer les cellules ayant une couleur d'arrière-plan spécifique, etc. Cet article présente quelques astuces pour résoudre ces tâches rapidement et facilement.

Effacer le contenu des cellules en fonction de la valeur avec un code VBA

Effacer des lignes entières si la valeur est supérieure ou inférieure à une valeur spécifique avec un code VBA

Effacer le contenu des cellules ou des lignes en fonction de la valeur avec une fonctionnalité pratique

Effacer des lignes entières si une autre cellule est vide avec un code VBA

Effacer le contenu des cellules en fonction de la couleur d'arrière-plan avec un code VBA


Effacer le contenu des cellules en fonction de la valeur avec un code VBA

Par exemple, voici la plage de données suivante. Maintenant, vous souhaitez effacer le contenu des cellules contenant “Hoodie”. Le code VBA ci-dessous peut vous aider.

sample data

1. Maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic for Applications.

2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre Module.

Code VBA : Effacer le contenu des cellules si la cellule est égale à une valeur spécifique

Sub ClearContents()
'Updateby ExtendOffice
 Dim xRng As Range
 Dim xCell As Range
 Dim xText As String
 Set xRng = Application.Range("A2:A12")
 xText = "Hoodie" 'Change this text to your own
 For Each xCell In xRng
 If xCell.Value = xText Then
 xCell.clearContents
 End If
 Next xCell
End Sub
Remarque : Dans le code ci-dessus, A2:A12 est la plage de données dont vous souhaitez effacer le contenu des cellules, le texte “Hoodie” est la valeur spécifique que vous voulez effacer. Veuillez les modifier selon vos besoins.

3. Ensuite, appuyez sur la touche F5 pour exécuter ce code, et toutes les cellules contenant le texte “Hoodie” seront effacées immédiatement, voir capture d'écran :

vba code to clear cell contents based on cell value

a screenshot of kutools for excel ai

Découvrez la magie d'Excel avec Kutools AI

  • Exécution intelligente : Effectuez des opérations sur les cellules, analysez les données et créez des graphiques, le tout piloté par des commandes simples.
  • Formules personnalisées : Générez des formules adaptées pour rationaliser vos flux de travail.
  • Codage VBA : Écrivez et implémentez du code VBA sans effort.
  • Interprétation des formules : Comprenez facilement des formules complexes.
  • Traduction de texte : Surmontez les barrières linguistiques dans vos feuilles de calcul.
Améliorez vos capacités Excel avec des outils alimentés par l'IA. Téléchargez maintenant et découvrez une efficacité sans précédent !

Effacer des lignes entières si la valeur est supérieure ou inférieure à une valeur spécifique avec un code VBA

Supposons que vous ayez la plage de données ci-dessous, et que vous souhaitiez effacer tout le contenu des lignes si la valeur dans la colonne D est supérieure ou inférieure à 300. Ici, je vais créer un code VBA pour accomplir cette tâche.

sample data

1. Maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic for Applications.

2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre Module.

Code VBA : Effacer des lignes entières si la valeur de la cellule est supérieure ou inférieure à une valeur spécifique

Sub ClearRowInValue()
'Updateby ExtendOffice
Dim xRg As Range
Dim xStrAddress As String
Dim xStrValue As Integer
Dim xCell As Range
Dim xRowRg As Range
Dim xF As Integer
Dim xBol As Boolean
xStrAddress = "D2:D12" 'Change cell range
xStrValue = 300 'change the value
Set xRg = Range(xStrAddress)
For xF = xRg.Rows.Count To 1 Step -1
    Set xRowRg = xRg.Rows.Item(xF)
    xBol = False
    For Each xCell In xRowRg.Cells
        If Application.IsNumber(xCell.Value) Then
        If xCell.Value > xStrValue Then
        xBol = True
        Exit For
        End If
        End If
    Next
    If xBol Then
        xRowRg.EntireRow.clearContents
    End If
Next
End Sub
Remarque : Dans le code ci-dessus, D2:D12 est la plage de données contenant la valeur spécifique sur laquelle vous souhaitez effacer les lignes ; 300 est la valeur spécifique ; le caractère > dans le script If xCell.Value > xStrValue Then signifie supérieur à, utilisez inférieur à, changez-le par le caractère < si nécessaire.

3. Appuyez ensuite sur la touche F5 pour exécuter ce code, et tout le contenu des lignes sera effacé si la valeur dans la colonne D est supérieure à 300, voir capture d'écran :

vba code to clear entire rows if value is greater or less than a specific value


Effacer le contenu des cellules ou des lignes en fonction de la valeur avec une fonctionnalité pratique

Si vous avez Kutools pour Excel, avec sa fonctionnalité Sélectionner des cellules spécifiques, vous pouvez sélectionner les cellules ou les lignes en fonction d'une valeur spécifique, puis supprimer le contenu des cellules en une seule fois.

Kutools pour Excel propose plus de 300 fonctionnalités avancées pour simplifier les tâches complexes, augmentant ainsi la créativité et l'efficacité. Intégré à des capacités d'IA, Kutools automatise les tâches avec précision, rendant la gestion des données facile et sans effort. Informations détaillées sur Kutools pour Excel...  Essai gratuit...

Après avoir installé Kutools pour Excel, veuillez procéder comme suit :

1. Sélectionnez la plage de données contenant les valeurs à partir desquelles vous souhaitez effacer le contenu des cellules ou des lignes, puis cliquez sur Kutools > Sélectionner > Sélectionner des cellules spécifiques, voir capture d'écran :

click Kutools > Select > Select Specific Cells

2. Dans la boîte de dialogue Sélectionner des cellules spécifiques qui s'ouvre, effectuez les opérations suivantes :

  • Cliquez sur Cellule ou Ligne entière que vous souhaitez sélectionner ;
  • Spécifiez les critères sous la section Spécifier le type selon vos besoins. Ici, je souhaite sélectionner les lignes dont la valeur dans la colonne D est supérieure à 300.

specify the options in the dialog box

3. Cliquez ensuite sur le bouton OK, et toutes les lignes avec une valeur supérieure à 300 sont sélectionnées. Maintenant, il vous suffit d'appuyer sur la touche Suppr du clavier pour supprimer le contenu des cellules, voir capture d'écran :

all the rows with the value greater than specific value are selected, then delete the contents

ConseilsIl existe de nombreux autres critères que vous pouvez utiliser, veuillez spécifier votre propre condition dans la boîte de dialogue comme indiqué dans la capture d'écran ci-dessous :
many other criteria in the dialog box

Effacer les données des lignes dans une plage si elle contient des cellules vides avec un code VBA

Dans ce cas, si une cellule dans la plage de données contient des cellules vides, je souhaite effacer les données des lignes de la plage comme indiqué dans la capture d'écran ci-dessous.

Clear rows data in a range if contains blank cell

Pour accomplir cette tâche, veuillez appliquer le code VBA suivant :

1. Maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic for Applications.

2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre Module.

Code VBA : Effacer les données des lignes si elles contiennent des cellules vides

Sub ClearContents()
'Updateby ExtendOffice
Dim xcell As Range
Set xrng = Application.Range("A2:D12")
For Each xcell In xrng
If xcell.Value = "" Then
Intersect(xcell.EntireRow, xrng).ClearContents
End If
Next
End Sub
Remarque : Dans le code ci-dessus, A2:D12 est la plage de données contenant des cellules vides dont vous souhaitez effacer le contenu.

3. Ensuite, appuyez sur la touche F5 pour exécuter ce code, et les données des lignes contenant des cellules vides seront effacées immédiatement dans la plage spécifique dont vous avez besoin.


Effacer le contenu des cellules en fonction de la couleur d'arrière-plan avec un code VBA

Pour effacer les cellules remplies d'une couleur d'arrière-plan spécifique, vous pouvez utiliser le code VBA suivant.

1. Maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic for Applications.

2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre Module.

Code VBA : Effacer le contenu des cellules en fonction de la couleur d'arrière-plan

Sub Clearcontents()
'Updateby ExtendOffice
Dim xcell As Range
Dim xrng As Range
Set xrng = Application.Range("A2:D12")
    For Each xcell In xrng
        If xcell.Interior.Color = RGB(252, 228, 214) Then
            xcell.Clearcontents
        End If
    Next
End Sub
Remarque : Dans le code ci-dessus, A2:D12 est la plage de données que vous souhaitez utiliser, RGB(252, 228, 214) est la couleur spécifique sur laquelle vous souhaitez effacer les cellules. Vous pouvez extraire le mode RVB de la couleur d'arrière-plan en utilisant le programme Paint sur votre ordinateur.

3. Ensuite, appuyez sur la touche F5 pour exécuter ce code, et le contenu des cellules avec la couleur d'arrière-plan spécifiée sera immédiatement effacé. Voir capture d'écran :

vba code to clear cell contents based on background color


  • Barre de formule avancée (éditez facilement plusieurs lignes de texte et de formules); Mode Lecture (lisez et éditez facilement un grand nombre de cellules); Coller dans une plage filtrée...
  • Fusionner des cellules/lignes/colonnes tout en conservant les données; Diviser le contenu des cellules; Consolider des lignes en double et faire la somme/moyenne... Empêcher les doublons dans les cellules; Comparer des plages...
  • Sélectionner des lignes en double ou uniques; Sélectionner des lignes vides (toutes les cellules sont vides); Super Recherche et recherche floue dans de nombreux classeurs; Sélection aléatoire...
  • Copie exacte de plusieurs cellules sans changer les références de formule; Créer automatiquement des références vers plusieurs feuilles; Insérer des puces, des cases à cocher et plus encore...
  • Ajouter et insérer rapidement des formules, des plages, des graphiques et des images; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails...
  • Extraire du texte, ajouter du texte, supprimer par position, supprimer des espaces; Créer et imprimer des statistiques de page; Convertir entre le contenu des cellules et les commentaires...
  • Super Filtre (enregistrer et appliquer des schémas de filtre à d'autres feuilles); Tri avancé par mois/semaine/jour, fréquence et plus; Filtre spécial par gras, italique...
  • Consolider des classeurs et feuilles de calcul; Fusionner des tables basées sur des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots de fichiers xls, xlsx et PDF...
  • Regroupement dans les tableaux croisés dynamiques par numéro de semaine, jour de la semaine et plus... Afficher les cellules verrouillées/déverrouillées avec différentes couleurs; Mettre en évidence les cellules contenant des formules/noms...
kte tab 201905
  • Activer l'édition et la lecture à onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrir et créer plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50 % et réduit des centaines de clics de souris chaque jour !
officetab bottom