Comparer deux mots avec exactitude
Bonjour,
je voudrais détecter si des mots sont présents dans mon texte, le code fonctionne bien mais je suis face à un "dilemme". Lorsqu'un mot par exemple : "continent" est présent dans mon texte, mon programme va détecter qu'il y a le mot "con" (qui est présent dans ma liste). J'ai trouvé alors la "parade" de ne faire détecter que si il y a un espace avant et après le mot. Ainsi, "continent" ne sera plus détecté mais uniquement si le texte contient " con " (avec un espace avant et après). Le problème c'est que si le texte contient : "con.", le mot de ne sera pas détecté. Je voudrais donc savoir si vous connaitriez pas un moyen afin de détecter si il y a quelque chose avant et après et si c'est une lettre, on annule la détection.
Voici le code (simplifié):
Code:
1 2 3 4 5 6 7 8 9
| Sub VerifierMotInterdit()
For Each s As String In ListeDeMots
If TextBox.Text.ToLower.Contains("" & s.ToLower & "") Then 'C'est ici qu'on peut choisir les espaces ou non.
MsgBox(TextBox.Text & vbNewLine & "Mot interdit détecté : " & s.ToLower)
TextBox.Clear()
End If
Next
TextBox.Clear()
End Sub |
Merci pour votre aide !