Code pour mettre en surbrillance un mot spécifique dans une colonne spécifique dans Excel

Je search un code excel qui search un mot key spécifique dans une colonne spécifique et le met en surbrillance jaune; et est capable de le faire pour plusieurs colonnes, chacune avec son propre mot-key distinct.

Exemple:

  • Rechercher la colonne A pour le mot-key "rivière"
  • Rechercher la colonne B pour le mot-key "océan"
  • Rechercher la colonne C pour le mot-key "mer"

Chaque fois, le mot-key unique est uniquement mis en surbrillance dans la colonne spécifique, même s'il peut se produire dans d'autres colonnes.

Le code engloberait 100 colonnes, de la «Colonne A» à la «Colonne CV», et permettra l'insertion d'un mot key unique pour chaque colonne.

Est-ce possible?

En parcourant les forums, j'ai trouvé des codes qui mettent en évidence des mots spécifiques dans Excel, mais aucun ne limite la search à une colonne et exclut le mot-key d'autres colonnes.

Ce code, pour find un mot et le colorier en rouge, a une idée centrale similaire:

Sub colorText() Dim cl As Range Dim startPos As Integer Dim totalLen As Integer Dim searchText As Ssortingng Dim endPos As Integer Dim testPos As Integer ' specify text to search. searchText = "river" ' loop trough all cells in selection/range For Each cl In Selection totalLen = Len(searchText) startPos = InStr(cl, searchText) testPos = 0 Do While startPos > testPos With cl.Characters(startPos, totalLen).Font .FontStyle = "Bold" .ColorIndex = 3 End With endPos = startPos + totalLen testPos = testPos + endPos startPos = InStr(testPos, cl, searchText, vbTextCompare) Loop Next cl End Sub 

Seulement j'aurais besoin d'un point fort jaune, pas une couleur rouge. Et j'ai besoin pour Excel 2016, et ce code est pour excel 2010.

Je vous remercie.

Modifier: Vous pouvez mettre en surbrillance une cellule ou modifier la couleur d'une police d'un text particulier dans une cellule. Excel n'a pas d'option pour mettre en évidence l'arrière-plan d'un text particulier dans une cellule.

Comme vous souhaitez voir uniquement la couleur recherchée, j'ai utilisé la propriété Font.ColorIndex et la couleur rouge au lieu de Jaune pour faciliter la visibilité.

J'ai également déclaré un tableau afin que vous puissiez entrer vos 100 mots-keys uniques prédéfinis comme vous le souhaitez.

Dites-moi si cela marche pour vous:

 Sub Search_by_Column() Dim rng As Range Dim i As Long Dim oldrngrow As Long Dim myValue As Ssortingng Dim arr() As Variant arr = Array("river", "ocean", "sea") '..... keep going till 100 keywords For i = 1 To UBound(arr) + 1 myValue = arr(i - 1) If myValue = vbNullSsortingng Then End End If Set rng = Cells.Find(What:=myValue, After:=Cells(1, i), LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False) If rng Is Nothing Then GoTo Skip End If oldrngrow = rng.Row Do While rng.Column = i rng.Characters(InStr(rng, myValue), Len(myValue)).Font.ColorIndex = 3 Set rng = Cells.FindNext(After:=rng) If oldrngrow = rng.Row Then Exit Do End If Loop Skip: Next i End Sub