VBA : Comment effacer le contenu si la cellule contient une valeur spécifique
Vous pouvez utiliser la syntaxe de base suivante pour effacer le contenu de chaque cellule d’une feuille de calcul Excel égale à une valeur spécifique :
Sub ClearContentsIfContains()
Dim cell, rng As Range
Set rng = Range("A2:A11")
For Each cell In rng
If cell.Value = "Mavs" Then
cell.ClearContents
Else
End If
Next cell
End Sub
Cette macro particulière effacera le contenu de chaque cellule de la plage A2: A11 qui est égale à « Mavs ».
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : utiliser VBA pour effacer le contenu si la cellule contient une valeur spécifique
Supposons que nous ayons une feuille Excel contenant des informations sur différents joueurs de basket-ball :
Supposons que nous souhaitions effacer le contenu de chaque cellule de la colonne Équipe égale à « Mavs ».
Nous pouvons créer la macro suivante pour ce faire :
Sub ClearContentsIfContains()
Dim cell, rng As Range
Set rng = Range("A2:A11")
For Each cell In rng
If cell.Value = "Mavs" Then
cell.ClearContents
Else
End If
Next cell
End Sub
Une fois cette macro exécutée, toutes les cellules avec une valeur de « Mavs » dans la colonne Équipe seront effacées :
Si vous souhaitez plutôt effacer toutes les cellules de chaque ligne ayant la valeur « Mavs » dans la colonne Équipe , vous pouvez utiliser la syntaxe suivante :
Sub ClearContentsIfContains()
Dim cell, rng As Range
Set rng = Range("A2:A11")
For Each cell In rng
If cell.Value = "Mavs" Then
cell.EntireRow.ClearContents
Else
End If
Next cell
End Sub
Une fois que nous exécutons cette macro, nous recevons le résultat suivant :
Notez que toutes les cellules de chaque ligne contenant « Mavs » dans la colonne Équipe ont été effacées.
Remarque : Vous pouvez trouver la documentation complète de la méthode ClearContents dans VBA ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : Comment trouver la dernière ligne utilisée
VBA : Comment trouver la dernière colonne utilisée
VBA : Comment afficher toutes les feuilles