Changer la couleur de la bordure d'un commentaire sous Vba

TalbonJourdal Fred

XLDnaute Nouveau
Bonjour à tous ! :)

J'ai un petit souci à propos d'un commentaire que je créé par macro dans une cellule (F5) sur une feuille Excel.
J'arrive bien à changer le texte (qui se trouve dans la cellule L4 du même onglet), la couleur de fond, la taille et le style de la police, mais je ne parviens pas à changer la couleur et le style du trait qui encadre le commentaire (qui apparaît toujours en noir) car je ne connais pas l'instruction adéquat. J'aimerais avoir un cadre orange avec un trait fin (0,25 pt), un peu comme on pourrait le faire en passant par la boite de dialogue "Format de Commentaire".

Je mets si dessous le petit bout de code que j'ai écris :

Code:
Sub AjoutCommentaire()

Dim j, Comm1 As String

j = Range("L4").Value
Comm1 = "Valeur de la cellule = " & j

Range("F5").AddComment
Range("F5").Comment.Text Text:=Comm1

With Range("F5").Comment.Shape.OLEFormat.Object
    .Font.Size = 8
    .Font.Name = "Arial Narrow"
    .Interior.ColorIndex = 22
End With

Range("F5").Comment.Shape.TextFrame.Characters.Font.Italic = True
Range("F5").Comment.Shape.TextFrame.AutoSize = True

End Sub

Voilà, un grand merci par avance à ceux qui peuvent m'aider. :D
 

mromain

XLDnaute Barbatruc
Re : Changer la couleur de la bordure d'un commentaire sous Vba

Bonjour Fred, bonjour le forum :)

Voici un essai pour manipuler les traits des commentaires en VBA :
VB:
    With Range("F5").Comment.Shape
        .Line.Weight = 4                        'épaisseur
         .Line.Style = msoLineThinThin           'type de trait (simple, double, ...)
         .Line.DashStyle = msoLineDash           'type de pointillets
         .Line.ForeColor.RGB = RGB(255, 0, 0)    'couleur
     End With

A+
Miki
 

Pierrot93

XLDnaute Barbatruc
Re : Changer la couleur de la bordure d'un commentaire sous Vba

Bonjour,

ce que donne l'enregistreur de macro :
Code:
    Selection.ShapeRange.Line.Weight = 0.25
    Selection.ShapeRange.Line.DashStyle = msoLineRoundDot
    Selection.ShapeRange.Line.Style = msoLineSingle
    Selection.ShapeRange.Line.Transparency = 0#
    Selection.ShapeRange.Line.Visible = msoTrue
    Selection.ShapeRange.Line.ForeColor.SchemeColor = 53

A adapter et à optimiser.

bonne journée
@+

Edition : bonjour mromain:)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG