Accéder au contenu principal

Comment mettre en évidence un texte spécifique dans une cellule en fonction d'un autre texte ?

Author: Xiaoyang Last Modified: 2025-05-27

Dans Excel, il peut être facile pour nous de mettre en surbrillance les cellules en fonction d'un texte spécifique, mais ici, je souhaite mettre en évidence un texte spécifique à l'intérieur d'une cellule pour le faire ressortir sans pour autant surligner toute la cellule. Cela pourrait poser problème pour la plupart d'entre nous. Dans cet article, je vais parler de quelques astuces pour résoudre cette tâche dans Excel.


Mettre en évidence un ou plusieurs textes spécifiques dans plusieurs cellules avec du code VBA

Par exemple, j'ai une plage de chaînes de texte, et maintenant, je veux mettre en évidence le texte spécifique « Sky » dans ces cellules pour obtenir le résultat comme le montrent les captures d'écran suivantes :

original data arrow right Highlight one specific text

Pour ne mettre en évidence qu'une partie du texte dans une cellule, le code VBA suivant peut vous aider.

1. Sélectionnez les cellules où vous souhaitez mettre en évidence le texte spécifique, puis maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic for Applications.

2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre Module.

Code VBA : Mettre en évidence une partie du texte dans une cellule :

Sub HighlightStrings()
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim Rng As Range
Dim cFnd As String
Dim xTmp As String
Dim x As Long
Dim m As Long
Dim y As Long
cFnd = InputBox("Enter the text string to highlight")
y = Len(cFnd)
For Each Rng In Selection
  With Rng
    m = UBound(Split(Rng.Value, cFnd))
    If m > 0 Then
      xTmp = ""
      For x = 0 To m - 1
        xTmp = xTmp & Split(Rng.Value, cFnd)(x)
        .Characters(Start:=Len(xTmp) + 1, Length:=y).Font.ColorIndex = 3
        xTmp = xTmp & cFnd
      Next
    End If
  End With
Next Rng
Application.ScreenUpdating = True
End Sub

3. Appuyez ensuite sur la touche F5 pour exécuter ce code, et une boîte de dialogue apparaîtra pour vous rappeler d'entrer le texte que vous souhaitez mettre en évidence uniquement, voir capture d'écran :

enter the text to highlight

4. Ensuite, cliquez sur le bouton OK, tout le texte que vous avez spécifié a été mis en évidence uniquement dans les cellules, voir capture d'écran :

original data arrow right all text you specified are highlighted
Conseils: Si vous devez mettre en évidence plusieurs mots-clés dans les chaînes de texte, veuillez appliquer le code ci-dessous :
Code VBA : Mettre en évidence plusieurs mots-clés dans des chaînes de texte :
Sub HighlightStrings()
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim Rng As Range
Dim cFnd As String
Dim xTmp As String
Dim x As Long
Dim m As Long
Dim y As Long
Dim xFNum As Integer
Dim xArrFnd As Variant
Dim xStr As String
cFnd = InputBox("Please enter the text, separate them by comma:")
If Len(cFnd) < 1 Then Exit Sub
xArrFnd = Split(cFnd, ",")
For Each Rng In Selection
With Rng
For xFNum = 0 To UBound(xArrFnd)
xStr = xArrFnd(xFNum)
y = Len(xStr)
m = UBound(Split(Rng.Value, xStr))
If m > 0 Then
xTmp = ""
For x = 0 To m - 1
xTmp = xTmp & Split(Rng.Value, xStr)(x)
.Characters(Start:=Len(xTmp) + 1, Length:=y).Font.ColorIndex = 3
xTmp = xTmp & xStr
Next
End If
Next xFNum
End With
Next Rng
Application.ScreenUpdating = True
End Sub

Ensuite, dans la boîte qui apparaît, veuillez entrer les mots-clés que vous souhaitez mettre en évidence (séparez les mots par une virgule), voir capture d'écran :
enter the keywords to highlight

Et ensuite, cliquez sur le bouton OK, les mots spécifiés ont été mis en évidence immédiatement, voir captures d'écran :

original data arrow right the specified words are highlighted

Remarque : Les codes ci-dessus sont sensibles à la casse.


Mettre en évidence un ou plusieurs textes spécifiques dans plusieurs cellules avec une fonctionnalité incroyable

Si vous n'êtes pas familier avec le code dans Excel, voici un outil simple - Kutools for Excel, avec sa fonctionnalité Marquer les mots-clés, vous pouvez mettre en évidence un ou plusieurs mots-clés spécifiques à la fois dans les cellules.

Kutools pour Excel propose plus de 300 fonctionnalités avancées pour simplifier les tâches complexes, augmentant ainsi la créativité et l'efficacité. Intégré à des capacités d'IA, Kutools automatise les tâches avec précision, rendant la gestion des données facile et sans effort. Informations détaillées sur Kutools pour Excel...  Essai gratuit...

Après avoir installé Kutools for Excel, veuillez procéder comme suit :

1. Cliquez sur Kutools > Texte > Marquer les mots-clés, voir capture d'écran :

click Mark Keyword feature of kutools

2. Dans la boîte de dialogue Marquer les mots-clés, effectuez les opérations suivantes :

  • Sélectionnez la plage de données que vous souhaitez utiliser dans la zone de texte Plage ;
  • Sélectionnez les cellules contenant les mots-clés que vous souhaitez mettre en évidence, vous pouvez également entrer manuellement les mots-clés (séparés par une virgule) dans la zone de texte Mots-clés.
  • Enfin, vous devez spécifier une couleur de police pour mettre en évidence les textes en cochant l'option Couleur de police des mots-clés. (Pour colorer toutes les cellules contenant les mots-clés, sélectionnez l'option Couleur du contenu des cellules).

set the options in the dialog box

3. Ensuite, cliquez sur le bouton Ok, tous les textes spécifiés ont été mis en évidence comme le montre la capture d'écran ci-dessous :

all specified texts are highlighted

Remarque : Cette fonctionnalité n'est pas sensible à la casse, si vous souhaitez mettre en évidence le texte en tenant compte de la casse, cochez Respecter la casse dans la boîte de dialogue Marquer les mots-clés.


Mettre en évidence un texte spécifique dans une cellule en fonction d'un autre texte avec du code VBA

Voici une autre situation, j'ai deux colonnes dont la première contient les chaînes de texte et la seconde le texte spécifique, maintenant, je dois mettre en évidence le texte relatif dans la première colonne en fonction du texte spécifique dans la deuxième colonne pour chaque ligne.

Highlight specific text within a cell based on other text

1. Maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic for Applications.

2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre Module.

Code VBA : Mettre en évidence une partie du texte dans une cellule en fonction d'un autre texte :

Sub highlight()
'Updateby Extendoffice
    Dim xStr As String
    Dim xRg As Range
    Dim xTxt As String
    Dim xCell As Range
    Dim xChar As String
    Dim I As Long
    Dim J As Long
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
LInput:
    Set xRg = Application.InputBox("please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Areas.Count > 1 Then
        MsgBox "not support multiple columns"
        GoTo LInput
    End If
    If xRg.Columns.Count <> 2 Then
        MsgBox "the selected range can only contain two columns "
        GoTo LInput
    End If
    For I = 0 To xRg.Rows.Count - 1
        xStr = xRg.Range("B1").Offset(I, 0).Value
        With xRg.Range("A1").Offset(I, 0)
            .Font.ColorIndex = 1
            For J = 1 To Len(.Text)
                If Mid(.Text, J, Len(xStr)) = xStr Then .Characters(J, Len(xStr)).Font.ColorIndex = 3
            Next
        End With
    Next I
End Sub

3. Après avoir collé le code, appuyez sur la touche F5 pour l'exécuter, une boîte de dialogue apparaîtra pour vous rappeler de sélectionner la plage de données qui contient à la fois la chaîne de texte et le texte spécifique que vous souhaitez mettre en évidence et sur lequel baser votre action, voir capture d'écran :

select the data range which both contains the text string and specific text

4. Ensuite, cliquez sur le bouton OK, tout le texte correspondant dans la première colonne basé sur le texte spécifique de la deuxième colonne a été coloré en rouge comme le montre la capture d'écran suivante :

all the corresponding text in the first column based on the specific text in the second column are colored red


Plus d'articles connexes :

  • Concaténer des colonnes de cellules et conserver la couleur du texte dans Excel
  • Comme nous le savons tous, lors de la concaténation ou de la combinaison de colonnes de cellules en une seule colonne, la mise en forme des cellules (comme la couleur de la police, le formatage numérique, etc.) sera perdue. Cet article vous présentera quelques astuces pour combiner les colonnes de cellules en une seule tout en conservant aussi facilement que possible la couleur du texte dans Excel.
  • Afficher un texte spécifique en fonction des valeurs d'une autre colonne
  • Supposons que j'aie une liste de nombres, et maintenant, je veux afficher un certain texte spécifique dans une autre colonne en fonction de ces nombres. Par exemple, si le nombre de la cellule est compris entre 1 et 100, je veux que le texte « Diminution » soit affiché dans la cellule adjacente, si le nombre est compris entre 101 et 200, un texte « Stable » est affiché, et si le nombre est supérieur à 200, un texte « Augmentation » est affiché comme le montre la capture d'écran suivante. Pour résoudre cette tâche dans Excel, les formules suivantes dans cet article peuvent vous aider.
  • Sommer des cellules contenant du texte et des nombres dans Excel
  • Par exemple, j'ai une liste de valeurs contenant des chaînes numériques et textuelles, et maintenant, je veux additionner uniquement les nombres en fonction du même texte, regardez la capture d'écran suivante. Normalement, vous ne pouvez pas sommer directement les valeurs dans la liste avec des chaînes de texte, ici, je vais vous présenter quelques formules pour traiter cette tâche.

Meilleurs outils de productivité pour Office

🤖 Kutools AI Aide : Révolutionner l'analyse des données basée sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les Fonctions améliorées
Fonctionnalités populaires : Trouver, mise en évidence ou marquer les doublons   |  Supprimer les lignes vides   |  Consolider les colonnes ou les cellules sans perdre de données   |   Arrondir sans formule ...
Super RECHERCHEV : RECHERCHEV avec critères multiples    RECHERCHEV avec valeurs multiples  |   Recherche multi-feuilles   |   Correspondance floue ....
Liste déroulante avancée : Créer rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante multi-sélection ....
Gestionnaire de colonnes : Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages & colonnes ...
Fonctionnalités en vedette : Mise au point de la grille   |  Affichage de conception   |   Barre de formule améliorée    Gestionnaire de classeur & feuille de calcul   |  Bibliothèque dAutoTexte (Auto Text)   |  Sélecteur de date   |  Fusionner les données   |  Crypter/Déchiffrer les cellules    Envoyer un e-mail par liste   |  Super Filtre   |   Filtre spécial (filtrer les cellules avec une police en gras/italique/barré...) ...
Top15 ensembles d'outils12 outils de texte (Ajouter du texte, Supprimer des caractères spécifiques, ...)   |   50+ types de graphiques (Diagramme de Gantt, ...)   |   40+ formules pratiques (Calculer lâge en fonction de la date de naissance, ...)   |   19 outils d'insertion (Insérer un code QR, Insérer une image depuis le chemin, ...)   |  12 outils de conversion (Convertir en mots, Conversion de devises, ...)   |  7 outils de fusion & division (Fusion avancée des lignes, Diviser les cellules, ...)   |   ... et plus

Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail

  • Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de50 %, et réduit des centaines de clics de souris pour vous chaque jour !