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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *