Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Retirer le texte non en gras contenu dans les cellules

chax

XLDnaute Nouveau
Bonjour à tous,

Je vous contacte car je rencontre actuellement un casse-tête sur Excel.
J’ai un fichier de plusieurs centaines de lignes qui possède des cellules contenant du texte en gras et du texte non en gras.

Je souhaiterai que tout le texte non en gras contenu dans ces cellules soit supprimé et que seul le texte en gras de ces cellules soit conservé.
Le nombre de lignes en gras et non en gras contenu dans les cellules est variable suivant les cellules.

Une illustration de mon problème se trouve en PJ.
Est-ce que voyez des pistes ou des solutions (sans ou avec VBA) ?

Merci pour votre aide.
 

Pièces jointes

  • Retirer le texte non en gras contenu dans les cellules.xlsx
    9.5 KB · Affichages: 32

job75

XLDnaute Barbatruc
Bonsoir chax,

VBA est indispensable mais ce n'est pas un casse-tête :
Code:
Sub Gras()
Dim t, i&, c As Range, x$, j%
Application.ScreenUpdating = False
With [A1].CurrentRegion.Offset(1).Resize(, 2) 'au moins 2 cellules
    t = .Value 'matrice, plus rapide
    For i = 1 To .Rows.Count - 1
        Set c = .Cells(i, 1): x = t(i, 1): t(i, 1) = ""
        For j = 1 To Len(x)
            If c.Characters(j, 1).Font.Bold Or Mid(x, j, 1) = vbLf Then t(i, 1) = t(i, 1) & Mid(x, j, 1)
    Next j, i
    .Copy .Offset(, 4) 'en colonne E
    With .Offset(, 4)
        .Value = t
        .Font.Bold = True
    End With
End With
End Sub
Fichier joint.

Bonne nuit.
 

Pièces jointes

  • Retirer le texte non en gras contenu dans les cellules(1).xlsm
    23.1 KB · Affichages: 41

chax

XLDnaute Nouveau
Bonsoir job75,

Le fichier et le code envoyés correspondent exactement à ce que je voulais faire !
Je n'aurai pas été capable d'écrire ce code VBA, donc merci beaucoup pour ton aide.

Bonne soirée.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…