bonjour,
Quel est le l'opérateur à utiliser pour vérifier par exemple le contenu d'une partie d'un mot
if [...] range("A5") contient le mot "test" ?
Version imprimable
bonjour,
Quel est le l'opérateur à utiliser pour vérifier par exemple le contenu d'une partie d'un mot
if [...] range("A5") contient le mot "test" ?
Salut stmastma et leforumA+Code:if range("A5") like "*test*" then
Bonjour stmastma, bonjour Gorfael,
Un exemple pour les cellules 1 à 5 de la colonne 1 en utilisant Like et INSTR :
Edit : Et puis aller hop, j'ajoute INSTRREV et FIND :Code:
1
2
3
4
5
6
7
8
9 Sub xx() For i = 1 To 5 If Cells(i, 1) Like "*test*" Then mess = mess & "Like trouve test" & vbCr If InStr(1, Cells(i, 1), "test", vbTextCompare) Then mess = mess & "INSTR trouve test " & "Position : " & InStr(1, Cells(i, 1), "test", vbTextCompare) & vbCr MsgBox Cells(i, 1).Address & ":" & vbCr & mess mess = Empty Next End Sub
Code:
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 Sub Recherche_Mot() Dim MyString As String, Pos1 As Long, Pos2 As Long, Ok As String, i As Long, Mot As String Mot = "Test" For i = 1 To 5 MyString = Cells(i, 1) If MyString Like "*" & Mot & "*" Then mess = mess & "Like trouve" & Mot & vbCr Pos1 = InStr(1, MyString, Mot, vbTextCompare) If Pos1 > 0 Then mess = mess & "INSTR trouve " & Mot & " Position : " & Pos1 & vbCr Pos2 = InStrRev(MyString, Mot, -1, vbTextCompare) ' If Pos2 > 0 Then mess = mess & "INSTRREV trouve " & Mot & " Position : " & Pos2 & vbCr On Error Resume Next Ok = Cells(i, 1).Find(Mot) On Error GoTo 0 If Ok <> Empty Then mess = mess & "Find trouve " & Mot & " : " & Ok & vbCr MsgBox Cells(i, 1).Address & ":" & vbCr & mess mess = Empty Ok = Empty Next End Sub