VBA : une formule simple pour « Si la cellule contient »
Vous pouvez utiliser la syntaxe de base suivante pour utiliser une formule pour « si la cellule contient » dans VBA :
Sub IfContains()
Dim i As Integer
For i = 2 To 8
If InStr(1, LCase(Range("A" & i)), "turtle") <> 0 Then
Result = "Contains Turtle"
Else
Result = "Does Not Contain Turtle"
End If
Range("B" & i) = Result
Next i
End Sub
Cet exemple particulier vérifie si chaque cellule de la plage A2:A8 contient « tortue », puis attribue « Contient une tortue » ou « Ne contient pas de tortue » à chaque cellule correspondante de la plage B2:B8 .
Remarque : La méthode Instr vérifie si une chaîne contient une autre chaîne et la méthode LCase convertit le texte en minuscules pour effectuer une recherche insensible à la casse.
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : Comment utiliser « Si la cellule contient » dans VBA
Supposons que nous ayons la liste suivante de cellules dans Excel contenant chacune du texte différent :
Supposons que nous souhaitions vérifier si chaque cellule de la plage A2:A8 contient le texte « tortue » et afficher les résultats dans les cellules correspondantes de la plage B2:B8 .
Nous pouvons créer la macro suivante pour ce faire :
Sub IfContains()
Dim i As Integer
For i = 2 To 8
If InStr(1, LCase(Range("A" & i)), "turtle") <> 0 Then
Result = "Contains Turtle"
Else
Result = "Does Not Contain Turtle"
End If
Range("B" & i) = Result
Next i
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
La colonne B nous indique si les cellules correspondantes de la colonne A contiennent ou non « tortue » quelque part dans le texte.
Remarque : Vous pouvez trouver la documentation complète de la méthode VBA Instr ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : Comment compter les occurrences de caractères dans une chaîne
VBA : comment vérifier si une chaîne contient une autre chaîne