Salut Groovygirl,
Je t'ai concocté un code qui fonctionne impec
Tu n'as qu'à créer un TextBox nommé 'Text1" et copier-coller le code ci-dessous :'''DANS UNE FORMConst sKeyWords As String = "Hot;doG;snooPy;SkyRocKo" ' Liste des mots clé
Const sSeparate = ";"
Dim KeyWord(25) As String ' Le fameux tableau
Dim bForbidden As Boolean ' Saisie correcte ??
Private Sub Text1_Change()
Dim Count As Byte
'On met les mots clé dans un tableau
Call StrDecompose(sKeyWords, KeyWord(), sSeparate, , , , Count)
'On vérifie si la saisie est correcte
bForbidden = IsForbidden(Text1.Text, KeyWord(), Count)
'Ici tu places l'action à effectuer...
If bForbidden Then MsgBox "Valeur interdite !", vbCritical, "ERROR !!!"
End Sub
''''DANS UN MODULEPublic Function IsForbidden(ByVal sText As String, ByRef sValue() As String, ByVal Count, Optional ByVal StartIndex = 0, Optional ByVal Compare As VbCompareMethod = vbTextCompare) As Boolean
Dim a
For a = StartIndex To (Count - 1)
If InStr(1, sText, sValue(a), Compare) > 0 Then
IsForbidden = True
Exit For
End If
Next a
End Function
Public Sub StrDecompose(ByVal strSource As String, ByRef strDest() As String, Optional ByVal strSeparate As String = ";", Optional ByVal Compare As VbCompareMethod = vbTextCompare, Optional ByVal Start = 1, Optional ByVal StartIndex = 0, Optional ByRef Count)
Dim a, Pos
strSource = Mid$(strSource, Start)
'Nombre d'itérations
Count = Len(strSource) - Len(Replace$(strSource, strSeparate, "", , , Compare)) + IIf(Len(sKeyWords) >= 1, 1, 0)
'Continue?
If Count <= 1 Then
strDest(StartIndex) = strSource
Exit Sub
End If
'Remplie le tableau
If Right$(strSource, Len(strSeparate)) <> strSeparate Then strSource = strSource & strSeparate
For a = 1 To Len(strSource)
Pos = InStr(a, strSource, strSeparate): If Pos = 0 Then Exit For
strDest(StartIndex) = Mid$(strSource, a, Pos - a)
StartIndex = StartIndex + 1
a = Pos
Next
End Sub
Si tu as des questions, n'hésites pas 
SkyRocKo