Texte commentaire en gras

Bonjour,

J'ai une macro qui génère un commentaire. J'aimerai qu'une partie du commentaire soit en gras.

Le commentaire ressemble à :

Nom : TOTO

Je souhaite qu'il ressemble à ça :

Nom : TOTO

Sachant que dans la macro, "Nom :" c'est un texte, mais Toto est une variable. Donc, en macro, ça ressemble à ça :

Commentaire = "• Nom :" & N
' Le N est récupéré en amont via une ComboBox.

Merci d'avance

Bonjour,

Pouvez-vous poster le code qui génère le commentaire ?

Edit : Voici un lien qui montre un exemple : https://www.excelcorpo.com/index.php/cellules-et-plages-de-cellules/1134-excemple-de-macro-vba-pour-...

Cdlt,

Voici le code

Sub Comment()
'
Dim FSF As Worksheet, FL As Worksheet
Set FSF = Sheets("Synthèse")

     For Each FL In Worksheets
         N = Application.WorksheetFunction.VLookup(Range("C1"), FSF.Range("C:J"), 8, False)
             Range("L1").Select
             Selection.ClearComments
             Selection.AddComment
                        With Range("L1").Comment.Shape
                            .Width = 300
                            .Height = 25
                        End With
             Commentaire = "• Nom :" & N 
             Range("L1").Comment.Text Text:=Commentaire
    Next FL
'
End Sub

Merci ! Voici un essai :

Sub Comment()
'
Dim FSF As Worksheet, FL As Worksheet
Set FSF = Sheets("Synthèse")

For Each FL In Worksheets
    N = Application.WorksheetFunction.VLookup(FL.Range("C1"), FSF.Range("C:J"), 8, False)
    with FL.Range("L1")
        .ClearComments
        with .AddComment("• Nom : " & N).Shape
            .Width = 300
            .Height = 25
            with .textframe.characters(1, 7).font 'caractère départ : 1, longueur : 7 caractères
                .bold = true
                .underline = true
                '.italic = true 'en italique
                '.color = RGB(0, 0, 255) 'en bleu
            end with
        End With
    end with
Next FL
'
End Sub

Cdlt,

Merci. C'est un bon début, sauf que ça me met tout en gras et en souligné. Elle ne respecte pas la limite des 7 caractère !

Vous êtes sûr que vous avez copié le code tel quel ? Essayez de le relancer car il n'y a pas de raison que ça ne marche pas.

Oui oui, sans modifs. Voici le code dans un classeur test :

Sub Test_Comment_Gras()
'
'Mettre en gras une partie du texte d'un commentaire ajouté
'
Range("B4").Select
Selection.ClearComments
Selection.AddComment
    With Range("B4").Comment.Shape
        .Width = 100
        .Height = 25
        With .TextFrame.Characters(1, 7).Font 'caractère départ : 1, longueur : 7 caractères
            .Bold = True
            .Underline = True
            '.italic = true 'en italique
            '.color = RGB(0, 0, 255) 'en bleu
        End With
    End With

    Commentaire = "• Nom : TOTO"
    Range("B4").Comment.Text Text:=Commentaire

End Sub

et voici le résultat :

image

Bonjour,

Donc pour vous, votre code et le mien sont identiques ?

Par exemple, le fait de mettre le texte après la mise en forme, ce n'est pas une modification selon vous ?

C'est bon, j'ai réussi :

Sub Test_Comment_Gras()
'
'Mettre en gras une partie du texte d'un commentaire ajouté
'
Range("B4").Select
Selection.ClearComments
Selection.AddComment
Dim Com1 As String, Com2 As String

    Com1 = "Nom : TOTO "
    X = Len(Com1)
    Com2 = "GRAS"
    Y = Len(Com2)
    KOM = Com1 & Com2
'
    Range("B4").Comment.Text Text:=KOM
'
    With Range("B4").Comment.Shape
        .Width = 100
        .Height = 25
        .TextFrame.Characters(1, 3).Font.Bold = True
        .TextFrame.Characters(X, Y + 1).Font.Bold = True

    End With
End Sub

@3GB ... Oooops, j'avais pas fait gaffe à l'ordre des choses. Désolé

Oui, sinon la mise en forme est établie avant qu'il n'y ait du texte et elle demeure lors d'une modification.

Mais je ne comprends pas pourquoi tu n'essaies pas mon code qui répond au besoin de départ, à savoir souligner et mettre en gras "- Nom :" (les 7 premiers caractères) sur L1 de chacune des feuilles.

Sub Comment()
'
Dim FSF As Worksheet, FL As Worksheet
Set FSF = Sheets("Synthèse")

For Each FL In Worksheets 'pour chaque feuille
    N = Application.WorksheetFunction.VLookup(FL.Range("C1"), FSF.Range("C:J"), 8, False) 'renvoie renvoie la valeur en J de Synthèse suite à la recherche de C1 de la feuille en cours dans la colonne C de Synthèse
    with FL.Range("L1") 'avec L1 de la feuille en cours
        .ClearComments 'efface commentaire
        with .AddComment("• Nom : " & N).Shape 'avec la forme du nouveau comm dont le texte est "• Nom : " & N
            .Width = 300 'largeur
            .Height = 25 'hauteur
            with .textframe.characters(1, 7).font 'avec la police des 7 premiers caractères de la fenetre de texte
                .bold = true 'mise en gras
                .underline = true 'soulignement
            end with
        End With
    end with
Next FL
'
End Sub

Il y a peut-être lieu d'écarter la feuille Synthèse et de contrôler le recherchev...

Cdlt,

Rechercher des sujets similaires à "texte commentaire gras"