1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Tablo
Dim Pos As Integer, i As Integer, j As Integer
Dim Chaine As String, Mot As String, Resultat As String
Chaine = Target.Value
Mot = InputBox("Mot à rechercher ?")
If Mot = "" Then Exit Sub
Resultat = "Absent"
'On liste les caractères acceptés pour préceder ou suivre le mot recherché.
Tablo = Array(".", ",", ";", "-", "!", "?", ":", "'", "(", ")", " ", "{", "}", "[", "]")
' on recherche le mot dans la ligne
Pos = InStr(1, Chaine, Mot, 1)
'Si le mot a été trouvé
If Pos > 0 Then
'On vérifie que le caractère précédant et le caractère suivant appartiennent à la liste.
'Nota : le mot ayant été trouvé, si les caractères précédant et suivant le mot font partie de la liste
'des caractères acceptés, on considère que le mot est présent.
For i = 0 To UBound(Tablo)
If Mid(Chaine, Pos - 1, 1) = Tablo(i) Then
For j = 0 To UBound(Tablo)
If Mid(Chaine, Pos + Len(Mot), 1) = Tablo(j) Then Resultat = "Présent"
Next j
End If
Next i
End If
MsgBox "Le mot " & Mot & " est " & Resultat
End Sub |
Partager