Bonjour,
voila mon problème, j'ai la macro ci-dessous qui effectue une recherche dans toutes les feuilles de mon classeur, par exemple si je recherche"SA" pour "sacs" elle me trouve ,met en rouge et gras les caractères trouvés et la cellule en jaune et quand j'arrête la recherche ou que la recherche se poursuit sur une autre feuilles, elle me remet les caractères ainsi que les cellules trouvées contenant les caractères à leurs état d'origine. Mais maintenant que j'ai protégés les feuilles afin que juste quelques cellules soit modifiables, cela ne fonctionne plus.
Donc si une bonne âme pouvais m'aider cela serait super.
Un grand merci
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
38
39
40
41
42
43 Option Compare Text Sub RechercheEtCouleur(Mot As String) Dim Rng As Range, Sht As Worksheet Dim plage As Range, cel As Range For Each Sht In ThisWorkbook.Sheets If Sht.Name <> "Recherche" Then Set plage = Sht.Range("B3").CurrentRegion 'range("B3") à changer par la bonne cellule de départ For Each cel In plage If cel Like "*" & Mot & "*" Then 'ou If cel Like "*" & Mot & "*" Then With cel.Characters(Start:=InStr(1, cel.Value, Mot), Length:=Len(Mot)) .Font.ColorIndex = 3 'colorie en rouge .Font.Bold = True 'met en gras cel.Interior.ColorIndex = 6 'met le fond de cellule en jaune End With Sht.Activate: cel.Activate If MsgBox("Poursuivre recherche ?", vbYesNo) = vbNo Then Cells.Font.ColorIndex = 0 'remise de la couleur noire Cells.Font.Bold = False 'enlever le gras Cells.Interior.Color = RGB(75, 172, 198) 'remet couleur intérieur cellule d'origine Exit Sub Else: Sheets("Recherche").Activate End If End If Next cel For Each cel In plage cel.Font.ColorIndex = 0 'remise de la couleur noire cel.Font.Bold = False 'enlever le gras cel.Interior.Color = RGB(75, 172, 198) 'remet couleur intérieur cellule d'origine Next cel End If Next Sht MsgBox "Il n'y a pas d'autres résultats", vbInformation, "Information" End Sub
Partager