bjour,
je souhaite savoir comment dans une phrase rechercher tous les mots en majuscule et le mettre en gras en passant par “rechercher” "remplacer"
excel 2013
merci pour votre aide.
Bonjour @vgab,
Pas facile ton affaire et je n’ais pas trouvé pour Excel en utilisant “Rechercher” “Remplacer”, je ne sais même pas si c’est possible.
Je te propose une alternative avec VBA.
Dans le fichier que je joins:
Dans la feuille 1 en colonne “A” il y a des phrases et un bouton “Mettre en Gras”
Dans la feuille 2 une fonction personnalisée “=LesMajuscules(cellule;1)” et un bouton “KC cellules Col A”
La fonction personnalisée récupère en colonne “A” les mots en majuscule de la feuille 1 en colonne “A”.
Function LesMajuscules(Cellule As Range, Optional Min As Boolean = True) As String
Dim i As Integer
If Cellule.Cells.Count > 1 Then Exit Function
If Min = True Then
For i = 1 To Len(Cellule.Value)
If LCase(Mid(Cellule.Value, i, 1)) <> Mid(Cellule.Value, i, 1) _
Or Mid(Cellule.Value, i, 1) = " " Then
LesMajuscules = LesMajuscules & Mid(Cellule.Value, i, 1)
End If
Next i
End If
LesMajuscules = Application.WorksheetFunction.Trim(LesMajuscules)
End Function
Le bouton KC cellules Col A lui fractionne le contenu d’une cellule par exemple “A2” en 10 colonnes maximum de “B2 à K2”.
Sub KCcellulesColA()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Range("A2:A65000").Select
Selection.Copy
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.TextToColumns Destination:=Range("B2"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), TrailingMinusNumbers:= _
True
Application.DisplayAlerts = True
Cells(1, 1).Select
End Sub
Enfin le bouton Mettre en Gras compare et trouve les mots en majuscules communs dans la colonne “A” de la feuille 1 avec la liste des mots dans la feuille 2 de “B2 à F100” et donc les mets en gras
Sub MettreenGras()
Dim F1, F2 As Worksheet
Dim Cel, C
Dim Mlen, Dep
Application.ScreenUpdating = False
Set F1 = Sheets("Feuil1"): Set F2 = Sheets("Feuil2")
For Each Cel In F2.[B2:F100]
For Each C In F1.Range("A2:A100")
If InStr(1, C.Value, Cel) > 1 Then
Mlen = Len(Cel)
Dep = InStr(1, C.Value, Cel)
C.Characters(Start:=Dep, Length:=Mlen).Font.Bold = True
End If
Next C
Next
End Sub
Voir fichier exemple ICI==> vgab V1.xlsm (29,5 Ko)
Cordialement.