Comment mettre en gras tous les mots spécifiques dans une plage de cellules ?

Dans Excel, la fonction Rechercher et Remplacer peut nous aider à trouver n'importe quel texte spécifique et à appliquer un formatage en gras ou autre à l'ensemble des cellules. Mais avez-vous déjà essayé de mettre en gras uniquement le texte spécifique dans les cellules, et non pas toute la cellule comme le montre la capture d'écran ci-dessous :
Mettre en gras tous les mots spécifiques dans une plage de cellules avec du code VBA
Mettre en gras tous les mots spécifiques dans une plage de cellules avec du code VBA
Le code VBA suivant peut vous aider à mettre en gras uniquement le texte spécifique dans le contenu d'une cellule. Veuillez procéder comme suit :
1. Maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez sur Insérer > Module, puis collez le code suivant dans la fenêtre Module.
Code VBA : Mettre en gras un texte spécifique dans une plage de cellules
Sub FindAndBold()
'Updateby Extendoffice 20160711
Dim xFind As String
Dim xCell As Range
Dim xTxtRg As Range
Dim xCount As Long
Dim xLen As Integer
Dim xStart As Integer
Dim xRg As Range
Dim xTxt As String
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
Set xRg = Application.InputBox("Please select data range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
On Error Resume Next
Set xTxtRg = Application.Intersect(xRg.SpecialCells(xlCellTypeConstants, xlTextValues), xRg)
If xTxtRg Is Nothing Then
MsgBox "There are no cells with text"
Exit Sub
End If
xFind = Trim(Application.InputBox("What do you want to BOLD?", "Kutools for Excel", , , , , , 2))
If xFind = "" Then
MsgBox "No text was listed", vbInformation, "Kutools for Excel"
Exit Sub
End If
xLen = Len(xFind)
For Each xCell In xTxtRg
xStart = InStr(xCell.Value, xFind)
Do While xStart > 0
xCell.Characters(xStart, xLen).Font.Bold = True
xCount = xCount + 1
xStart = InStr(xStart + xLen, xCell.Value, xFind)
Loop
Next
If xCount > 0 Then
MsgBox "number of " & CStr(xCount) & " text be bolded!", vbInformation, "Kutools for Excel"
Else
MsgBox "Not find the specific text!", vbInformation, "Kutools for Excel"
End If
End Sub
3. Ensuite, appuyez sur la touche F5 pour exécuter ce code, et une boîte de dialogue s'affichera pour vous rappeler de sélectionner la plage de données que vous souhaitez mettre en gras, voir capture d'écran :
4. Puis cliquez sur OK, une autre boîte apparaîtra pour vous demander d'entrer le texte spécifique que vous souhaitez mettre en gras uniquement dans les cellules, voir capture d'écran :
5. Après avoir entré le texte, veuillez cliquer sur le bouton OK, et tout le texte que vous avez spécifié sera mis en gras dans la plage sélectionnée, voir capture d'écran :
Meilleurs outils de productivité pour Office
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 !