Mie en couleur de toute les occurances de mot ?

Bonjour à tous,

Je possède une colonne avec des mots clés en A1:A10

Et en colonne B j'ai une liste de phrases

et je cherche à mettre en couleur toutes les occurances de mots de la colonne A qui se trouvent dans mes phrase en colonne B

Colonne A

chien

chat

loup

moulin

Colonne B

Entre chien et loup

la nuit tous les chats sont gris

les lettre de mon moulin

les chats de gouttière

Merci pour toute suggestion ou idée sur la manière d'y arriver....

Etant newbies en vba, toute aide me sera utile.

cordialement

Bonjour startx25,

Voici une solution qui couple la méthode "Find" et la fonction" Instr" pour la recherche des mots clés On utilise ensuite la propriété "Characters" pour modifier la couleur de police.

24exemple.xlsm (17.40 Ko)

A+

ok,

mille merci frangy !

je vais tester cela


frangy,

Sorry, j'ai un souci, car j'ai mal décrit mon problème.

les 2 colonnes en question ne sont pas sur la même feuille

Colonne A de la feuille 1

Colonne B de la feuille 2

Merci pour ton aide

Sub Test()
Dim WsC As Worksheet
Dim DerLig As Long, Ligne As Long, P As Long
Dim Cel As Range, C As Range
Dim firstAddress As String
    Set WsC = Worksheets("Feuil2")
    With Worksheets("Feuil1")
        DerLig = .Range("A" & Rows.Count).End(xlUp).Row
        For Each Cel In .Range("A2:A" & DerLig)
            Set C = WsC.Columns(2).Find(Cel, , xlValues, xlPart)
            If Not C Is Nothing Then
                firstAddress = C.Address
                Do
                    P = InStr(C, Cel)
                    C.Characters(Start:=P, Length:=Len(Cel)).Font.ColorIndex = 3
                    Set C = WsC.Columns(2).FindNext(C)
                Loop While Not C Is Nothing And C.Address <> firstAddress
            End If
        Next Cel
    End With
End Sub

A+

merci

impeccable !

après usage je me rend compte des lacunes...

car en colonne A, nous avons parfois des mots composés, et là la correspondance ne se fait pas..

de plus, dans la phrase (colonne B) si le mots est suivi d'une ponctuation, la correspondance ne se fait pas non plus

j'ai penser à faire quelque chose comme ceci :

Tag = "*" & Cel & " *"

Set C = WsC.Columns(2).Find(Tag, , xlValues, xlPart)

mais cela ne fonctionne pas quand c'est en début de phrase !

comme puis-je intégrer les mots composé dans ma colonne A ?

Peux-tu montrer un exemple ?

De mon coté, j’ai effectué le test avec "loup garou" en colonne A.

J’ai noté le texte "Entre chien et loup garou?" en colonne B.

Le changement de couleur de police de "loup garou" est réalisé normalement.

A+

hi Frangy

voici mon code:

Sub color1()
cat_choix = Worksheets("scan_smart").Range("C1")
categorie = Worksheets("scan_smart").Range("E" & cat_choix + 1)

Dim WsC As Worksheet
Dim DerLig As Long, Ligne As Long, P As Long
Dim Cel As Range, C As Range
Dim firstAddress As String
    Set WsC = Worksheets("scan_smart")
    With Worksheets("smart_categorie")
        DerLig = .Range(categorie & Rows.Count).End(xlUp).Row

        For Each Cel In .Range(categorie & "2:" & categorie & DerLig)
        Tag = "*" & Cel & " *"

           Set C = WsC.Columns(2).Find(Tag, , xlValues, xlPart)
        Rem MsgBox (C)
            If Not C Is Nothing Then
                firstAddress = C.Address
                Do
                    P = InStr(C, Cel)
                    C.Characters(Start:=P, Length:=Len(Cel)).Font.ColorIndex = 3
                    C.Characters(Start:=P, Length:=Len(Cel)).Font.Bold = True
                    Set C = WsC.Columns(2).FindNext(C)
                Loop While Not C Is Nothing And C.Address <> firstAddress
            End If
        Next Cel

                    WsC.Range("b1").Font.ColorIndex = 1
                    Rem  WsC.Range("b1").Font.Bold = False

    End With
End Sub

Bonjour,

Le code, c'est bien mais un classeur exemple, c'est mieux pour rechercher d'où provient le problème.

A+

Sorry, finalement le code initial est correcte.....c'est une faute de frappe de ma part....

Rechercher des sujets similaires à "mie couleur toute occurances mot"