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

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



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
 

soan

XLDnaute Barbatruc
Inactif
Bonjour patrick, sylvanu,

patrick à dit:
je fait mumuse avec les comm'

chanson de Pierre Perret : « Tout, tout, tout, vous saurez tout sur le censuré »

parodie de PatrickToulon : « Tout, tout, tout, vous saurez tout sur les comm' comm' »​

(j'ai mis 2× « comm' » pour garder le « rythme »)

soan
 

Jouxte

XLDnaute Occasionnel
Bonjour sylvanu, patricktoulon,

Merci à tous les deux pour vos solutions.
Pour agrémenter, j'ai laissé le fond en vert pour une somme positive qui devient rouge dans les négatifs.
Merci encore.
 

Discussions similaires

Réponses
7
Affichages
329
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…