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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
Option Explicit
Private NombreOccurrences As Long
Sub SensRetour(ByVal AireATester As Range, ByVal Chaine As String)
Dim CelluleTest As Range
Dim ChainePartielle As String, ChaineComplementaire As String
Dim I As Integer
For I = Len(Chaine) To 1 Step -1
ChainePartielle = Mid(Chaine, 1, I)
ChaineComplementaire = Mid(Chaine, I + 1)
For Each CelluleTest In AireATester
If InStr(1, CelluleTest, ChainePartielle, vbTextCompare) > 0 And CelluleTest <> Chaine Then
If InStr(1, CelluleTest, ChaineComplementaire, vbTextCompare) > 0 And Len(CelluleTest) = Len(Chaine) Then
CelluleTest.Interior.Color = RGB(255, 255, 0)
NombreOccurrences = NombreOccurrences + 1
End If
End If
Next CelluleTest
Next I
End Sub
Sub TestSensRetour()
Dim AireDuTest As Range, CelluleDuTest As Range
NombreOccurrences = 0
Set AireDuTest = Sheets("Feuil1").Range("A2:A10")
With AireDuTest
.Interior.ColorIndex = xlNone
For Each CelluleDuTest In AireDuTest
SensRetour AireDuTest, CelluleDuTest
Next CelluleDuTest
If NombreOccurrences > 0 Then
.AutoFilter Field:=1, Criteria1:=RGB(255, 255, 0), Operator:=xlFilterCellColor
End If
End With
Set AireDuTest = Nothing
End Sub |
Partager