XL 2013 VBA Modification du format dans un commentaire

Jouxte

XLDnaute Occasionnel
Bonjour à toutes et tous,,

J'utilise la macro suivante pour faire la somme des valeurs de la colonne.
Je n'ai pas trouvé le moyen de modifier le format du nombre (pour que le rendu soit identique à l'image).
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

ActiveSheet.Range("J1").ClearComments

Dim MaPlage As Range
Dim MaSomme As Single
Dim DernLigne As Long

DernLigne = Range("J" & Rows.Count).End(xlUp).Row
Set MaPlage = Range("J2:J" & DernLigne)
MaSomme = Application.WorksheetFunction.Sum(MaPlage)
'MaSomme.NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"

Range("J1").AddComment.Text Text:="Montant total" & Chr(10) & MaSomme & " €"
Range("J1").Comment.Shape.TextFrame.AutoSize = True

End Sub

1656399244498.png


Par avance merci pour votre aide.
Bonne journée.
 

patricktoulon

XLDnaute Barbatruc
bonjour
je fait mumuse avec les comm'
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim MaPlage As Range, MaSomme#, titre$

    Set MaPlage = Range("J2", Range("J" & Rows.Count).End(xlUp))    'la plage a sommer

    MaSomme = Application.WorksheetFunction.Sum(MaPlage)    ' la somme

    ActiveSheet.Range("J1").ClearComments    'suppression du commentaire
    titre = "Montant total"    'titre dans le commentaire

    With Range("J1").AddComment    'en ajoutant le commentaire
        .Text Text:=titre & Chr(10) & Format(MaSomme, "#,##0.00") & " €"    'on met le texte global(titre + somme)
        With .Shape.TextFrame
            .AutoSize = True    ' auto dimentionnement du commentaire
            '.Characters.Font.ColorIndex = 0    ' on met tout le texte en noir(facultatif vu que l'on supprime le commentaire a chaque fois ))
            .Characters.Font.Size = 10    ' le font size  à  10
            .Characters(Start:=1, Length:=Len(titre) + 1).Font.Bold = True  'le titre en gras
            .Characters(Start:=Len(titre) + 1, Length:=100).Font.Color = vbRed  'tout le texte apres le titre( donc la somme) sera en rouge

            'FACULTATIF et pour le rendre un peu plus sympa
            .Parent.AutoShapeType = msoShapeRoundedRectangle    'on errondi les angles
            .Parent.OLEFormat.Object.Interior.Color = RGB(100, 255, 100)    'couleur de fond du commentaire
        End With
    End With
End Sub
demo3.gif
 

Discussions similaires

Réponses
7
Affichages
493

Statistiques des forums

Discussions
314 608
Messages
2 111 113
Membres
111 044
dernier inscrit
MauriceLebon