VBA : Comment utiliser « PAS COMME » ? (Avec exemples)



Vous pouvez utiliser l’instruction Not avec l’instruction Like dans VBA pour déterminer si les chaînes ne contiennent pas un modèle spécifique.

Par exemple, vous pouvez utiliser la syntaxe suivante pour vérifier si chaque chaîne de la plage de cellules A2:A10 ne contient pas la sous-chaîne « hot » et afficher les résultats dans la plage B2:B10 :

Sub CheckNotLike()

    Dim i As Integer
    
    For i = 2 To 10
        If Not Range("A" & i) Like "*hot*" Then
            Range("B" & i) = "Does Not Contain hot"
        Else
            Range("B" & i) = "Contains hot"
        End If
    Next i
    
End Sub

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : Comment utiliser NOT LIKE dans VBA

Supposons que nous ayons la liste d’aliments suivante dans la colonne A d’Excel :

Nous pouvons créer la macro suivante pour vérifier si chaque chaîne de la colonne A ne contient pas la sous-chaîne « chaude » et afficher les résultats dans la colonne B :

Sub CheckNotLike()

    Dim i As Integer
    
    For i = 2 To 10
        If Not Range("A" & i) Like "*hot*" Then
            Range("B" & i) = "Does Not Contain hot"
        Else
            Range("B" & i) = "Contains hot"
        End If
    Next i
    
End Sub

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

La colonne B indique si chaque cellule correspondante de la colonne A contient ou non la sous-chaîne « chaude ».

Remarque : Nous avons utilisé des astérisques ( * ) autour de la sous-chaîne pour indiquer que n’importe quel caractère peut venir avant ou après la chaîne « chaude » dans la cellule.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes à l’aide de 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
VBA : Comment compter les cellules avec un texte spécifique

Ajouter un commentaire

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