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

Microsoft 365 Mettre en gras uniquement les chiffres

  • Initiateur de la discussion Initiateur de la discussion pat66
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pat66

XLDnaute Impliqué
Bonjour le forum,

je sais pas si c'est possible, mais je souhaiterai pouvoir mettre en gras uniquement les chiffres contenu dans une forme

ci joint un fichier avec un exemple

merci d'avance pour vos lumières

pa66
 

Pièces jointes

Dernière édition:
Solution
Bonjour pat66,

Le code de la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim v1$, L1%, v2$, L2%, v3$, L3%, x$, i%, L%
v1 = [C7].Text: L1 = Len(v1)
v2 = [C11].Text: L2 = Len(v2)
v3 = [C9].Value: L3 = Len(v3)
x = "Article en promotion à " & v1 & ", soit " & v2 & " en " & v3 & " mensualité" & IIf(v3 > 1, "s", "")
With Shapes("Rectangle 1").TextFrame
    .Characters.Text = x
    For i = 1 To Len(x)
        L = 0
        If Mid(x, i, L3) = v3 Then L = L3
        If Mid(x, i, L1) = v1 Then L = L1
        If Mid(x, i, L2) = v2 Then L = L2
        If L Then
            With .Characters(i, L).Font
                .Color = vbRed
                .Bold = True
            End With
        End If
    Next i
End With
End Sub
La...
Bonjour,

Avec un bout de code VBA on peut modifier l'aspect visuel d'un texte contenu dans une cellule, à condition qu'il n'y ait pas de formule dans ladite cellule.

Une petite recherche sur le forum te donnera des exemples.
 
Bonjour
voici le code qui répond au besoin
VB:
Sub ChiffresGras()
    With ActiveSheet.Shapes("Rectangle 1")
        For i = 1 To Len(.TextFrame2.TextRange.Text)
            'MsgBox .TextFrame2.TextRange.Characters(i, 1)
            If IsNumeric(.TextFrame2.TextRange.Characters(i, 1)) Then
                .OLEFormat.Object.Characters(i, 1).Font.Bold = True
            Else
                .OLEFormat.Object.Characters(i, 1).Font.Bold = False
            End If
        Next i
    End With
End Sub
 
Bonjour à tous,

Cette macro dans le code de la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x$, y$
x = Format([C7], "0.00 €")
y = "ceci est une promotion "
With Shapes("Rectangle 2").TextFrame
    .Characters.Text = y & x
    With .Characters(Len(y), Len(x) + 1).Font
        .Color = vbRed
        .Bold = True
    End With
End With
End Sub
s'exécute quand on modifie la cellule C7.

A+
 

Pièces jointes

Dernière édition:
Bonjour à toutes & à tous,
Bonjour @pat66 et tous les participants !
J'ai souvent l'impression de me répéter en le disant mais "j'arrive un peu tard !"
Je te propose une solution avec le prix un préfixe et un suffixe et des mises en forme du texte variées à alléger ou enrichir.

L'événement change de la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)

          If Not Intersect(Target, Union([prix], [Préfixe], [Suffixe])) Is Nothing Then ModifAffiche

End Sub

Le code de modification de la forme :
VB:
Sub ModifAffiche()

     Dim shp As Shape
     LePrix = Trim(Format([prix], "# ###.00 €"))
     Longueur = Len(LePrix)
     Début = Len([Préfixe]) + 2
    
     Set shp = Feuil1.Shapes("Affiche")
     With shp.TextFrame2.TextRange
          .Text = [Préfixe] & " " & LePrix & " " & [Suffixe]
          With .Characters(Début, Longueur).Font
               .Size = 24
               .Bold = msoCTrue
               .Italic = msoCTrue
               .Fill.ForeColor.RGB = RGB(0, 0, 255)
               .UnderlineStyle = msoUnderlineHeavyLine
          End With
     End With
 
 
End Sub
 

Pièces jointes

Re,
Bon, tu recomposes le texte à ta guise, tu peux même ajouter d'autre partie de texte, tu as le principe et tu peux assez facilement l'adapter.
Pour le pourcentage voilà la modif (je suppose qu'après tu vas me demander de rehausser aussi le pourcentage et de mettre un prix barré, mais je te laisse chercher un peu 😉).
VB:
Sub ModifAffiche()

     Dim shp As Shape
     LePrix = Trim(Format([prix], "# ###.00 €"))
     Longueur = Len(LePrix)
    
     Texte = [Préfixe] & " " & Format([Suffixe], "0%")
     Début = Len(Texte) + 2
    
     Set shp = Feuil1.Shapes("Affiche")
     With shp.TextFrame2.TextRange
          .Text = Texte & " " & LePrix
          With .Characters(Début, Longueur).Font
               .Size = 24
               .Bold = msoCTrue
               .Italic = msoCTrue
               .Fill.ForeColor.RGB = RGB(0, 0, 255)
               .UnderlineStyle = msoUnderlineHeavyLine
          End With
     End With

End Sub

Voir fichier joint
À bientôt
 

Pièces jointes

Bonjour le forum,

bonjour le fil,
bonjour crocrocro
bonjour job75
bonjour AtTheOne

Ce n'était pas prévu, mais j'ai du ajouter des valeurs numériques à la macro,

Cela fait 2 jours que je galère, j'ai bien essayer avec les solutions de crocrocro et job75, mais je n'y arrive pas, quelqu'un aurait t'il la gentillesse de corriger mes erreurs.
j'ai mis un exemple de ce que je souhaiterai avoir visuellement

un grand merci d'avance
 

Pièces jointes

Dernière édition:
Bonjour pat66,

Le code de la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim v1$, L1%, v2$, L2%, v3$, L3%, x$, i%, L%
v1 = [C7].Text: L1 = Len(v1)
v2 = [C11].Text: L2 = Len(v2)
v3 = [C9].Value: L3 = Len(v3)
x = "Article en promotion à " & v1 & ", soit " & v2 & " en " & v3 & " mensualité" & IIf(v3 > 1, "s", "")
With Shapes("Rectangle 1").TextFrame
    .Characters.Text = x
    For i = 1 To Len(x)
        L = 0
        If Mid(x, i, L3) = v3 Then L = L3
        If Mid(x, i, L1) = v1 Then L = L1
        If Mid(x, i, L2) = v2 Then L = L2
        If L Then
            With .Characters(i, L).Font
                .Color = vbRed
                .Bold = True
            End With
        End If
    Next i
End With
End Sub
La macro se déclenche quand on modifie ou valide une cellule quelconque.

A+
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
14
Affichages
477
  • Question Question
Microsoft 365 MFC dans tableau
Réponses
2
Affichages
224
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…