Mettre gras rouge des mots précis dans toutes les cellules de la feuille

FVR812 Messages postés 126 Statut Membre -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, Je range des portions de textes dans des cellules selon des thèmes de recherche perso (plus facile que dans word). Je veux faire apparaître dans toutes les cellules de la feuille des mots spécifiques. Ici pour les mots : loi, formule, macro, genre, sex, femme, fille, latrine, hygiène, mariage
j'ai récupéré cette macro lors d'un précédent échange, elle n'a jamais marché. Elle bloque au début à sub (pas à pas > surligné en jaune).
Ma question : est-elle correcte ? Que faut-il y modifier sinon ? Merci de e que vous pouvez faire


Option Explicit
Option Compare Text


Sub MotEnGras(LeMot As String, Plage As Range)
Application.ScreenUpdating = False

'myDearFriend! - www.mdf-xlpages.com
Dim Cel As Range
Dim AdrDeb As String, t As String
Dim Pos As Integer
With Plage
Set Cel = .Find(LeMot, LookAt:=xlPart)
If Not Cel Is Nothing Then
AdrDeb = Cel.Address
Do
t = Cel.Text
Do
Pos = InStr(Pos + 1, t, LeMot)
If Pos > 0 Then
With Cel.Characters(Start:=Pos, Length:=Len(LeMot)).Font
.FontStyle = "Gras"
.ColorIndex = 4 '3 = rouge 4 = vert
End With
End If
Loop Until Pos = 0
Set Cel = .FindNext(Cel)
Loop While Not Cel Is Nothing And AdrDeb <> Cel.Address
End If
End With
End Sub

Sub Solution1()
With Feuil1
MotEnGras "loi", .Range("A1:CZ2000")
MotEnGras "format", .Range("A1:CZ2000")
MotEnGras "cellule", .Range("A1:CZ2000")
MotEnGras "macro", .Range("A1:CZ2000")
MotEnGras "genre", .Range("A1:CZ2000")
MotEnGras "sex", .Range("A1:CZ2000")
MotEnGras "femme", .Range("A1:CZ2000")
MotEnGras "fille", .Range("A1:CZ2000")
MotEnGras "latrine", .Range("A1:CZ2000")
MotEnGras "hygiène", .Range("A1:CZ2000")
MotEnGras "mariage", .Range("A1:CZ2000")
End With

End Sub

Sub Solution2()
Dim Derlig&, i&
With Feuil2
Derlig = Feuil3.Cells(.Rows.Count, "B").End(xlUp).Row
For i = 1 To Derlig
MotEnGras Feuil3.Range("B" & i), .Range("A1:Z2000")
Next i
End With

End Sub


Configuration: Windows / Edge 95.0.1020.40

4 réponses

Mike-31 Messages postés 19571 Date d'inscription   Statut Contributeur Dernière intervention   5 137
 
Bonjour,

Il serait plus respectueux de demander à l'auteur de ce code myDearFriend sur le forum excel-downloads d'adapter son code avant de solliciter d'autres aides
0
The_boss_68 Messages postés 968 Date d'inscription   Statut Membre Dernière intervention   182
 
Bonjour,

Voir si cet exemple en Pj peut vous depanner

https://www.cjoint.com/c/KJFnDTEFwej

Slts
0
cs_Le Pivert Messages postés 8437 Statut Contributeur 729
 
Bonjour,

comme ceci:

Sub Solution1()
With Feuil1
Call MotEnGras("loi", .Range("A1:CZ2000"))
Call MotEnGras("format", .Range("A1:CZ2000"))
'etc
End With
End Sub


0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
bonjour tt le monde

apparemment la variable "t" n'est pas déclarée dans la sub moten gras....

0