Bonjour.
Je souhaiterai mettre automatiquement en surbrillance (en gras ou en couleur) un mot contenu dans une cellule à chaque fois que dans toute feuille on quitte la cellule (sur tout changement d'une valeur de cellule par exemple). Ce mot sera contenu dans une liste de mots stockés dans une colonne.
J'ai essayé d'adapter le code suivant mais je n'y arrive pas:
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim xHStr As String, xStrTmp As String Dim xHStrLen As Long, xCount As Long, I As Long Dim xCell As Range Dim xArr Dim xArr2 On Error Resume Next xHStr = ' ici je dois mettre la référence à la liste de mot stockés dans une feuille, initialement le code appelait une boite de dialogue If TypeName(xHStr) <> "String" Then Exit Sub Application.ScreenUpdating = False xArr2 = Split(xHStr, ",") 'initialement décompose les mots entrés dans le boite de dialogue For j = 0 To UBound(xArr2) xHStr = xArr2(j) xHStrLen = Len(xHStr) For Each xCell In Selection xArr = Split(xCell.Value, xHStr) xCount = UBound(xArr) If xCount > 0 Then xStrTmp = "" For I = 0 To xCount - 1 xStrTmp = xStrTmp & xArr(I) xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3 xStrTmp = xStrTmp & xHStr Next End If Next Next Application.ScreenUpdating = True End Sub
Partager