Autres Mise en forme automatique des Commentaires sous Excel 2007

Jybe

XLDnaute Nouveau
Bonjour,

J'ai pas mal fouillé dans ce site (sans avoir trouvé Graal) avant de me décider à poster ma question :
Existe-t-il sous Excel 2007 un moyen de mettre en forme - sur plusieurs feuilles - tous les commentaires : largeur fixe, hauteur automatique ?
Je vous précise que je suis une bille en VBA :eek:)
Merci d'avance pour vos réponses

JB
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil

Il suffit d'adapter le code en ajoutant les propriétés idoines...
Un exemple ci-dessous
VB:
Sub FormaterCommentaires()
Dim c As Excel.Comment
For Each ws In Worksheets
For Each c In ws.Comments
c.Shape.Height = 100
c.Shape.Width = 100
c.Shape.Fill.ForeColor.RGB = RGB(170, 255, 155)
c.Visible = True
'c.Shape.TextFrame.AutoSize = -1
Next c
Next ws
End Sub
A toi d'adapter selon tes desiderata.
 

Staple1600

XLDnaute Barbatruc
Re

Un exemple plus complet (mais testé sur Excel 2013)
Je ne sais pas ce qu'il en sera sur Excel 2007
VB:
Sub Formater_Commentaires_II()
'NB:
'Si incompatible avec Excel 2007
'dans ce cas, mettre un ' devant la ligne de code ne fonctionnant pas
Dim c As Excel.Comment
For Each ws In Worksheets
  For Each c In ws.Comments
    c.Shape.OLEFormat.Object.AutoSize = True
    With c.Shape.TextFrame.Characters.Font
    .ColorIndex = 12
    .Size = 10
    End With
    c.Shape.Line.ForeColor.RGB = RGB(0, 0, 0)
    c.Shape.Line.BackColor.RGB = RGB(255, 255, 255)
    c.Visible = True 'mettre sur False pour ne pas afficher le commentaire en permanence
    c.Shape.Fill.ForeColor.RGB = RGB(170, 255, 155)
    c.Shape.Fill.OneColorGradient 3, 1, 0.27
    With c.Shape.Shadow
      .Type = 2
      .ForeColor.SchemeColor = 12
      .OffsetX = 3.5
      .OffsetY = 3.5
      .Visible = msoTrue
    End With
  Next c
Next ws
End Sub
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
bonjour Staple160
:D:Dnon il n'y a pas de piège

je me dis qu'ajouter un commentaire puis les passer tous en revue et sur chaque feuilles pour les modifier alors qu'on peut modifier seulement celui qui est ajouté (si par vba)
et si c'est manuel il est aisé de modifier l'item du menu cell et l'orienter vers une fonction remplaçant la fonction interne du bouton
si bien que un seul commentaire est passer en revue a chaque fois ;)

c'est une idée comme çà en passant

d'autre part

n'y a t'il pasun probleme avec ".font" ;)
VB:
 With c.Shape.TextFrame.Characters.Font
    .ColorIndex = 12
    .Font.Size = 10
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

patricktoulon
[aparté]
Si on doit inciter les utilisateurs "novices" d'Excel dès leur entrée dans leur noviciat à utiliser Excel dans les règles de l'art (en privilégiant les fonctions natives, les raccourcis clavier, le pilotage à la souris (TCD, filtre etc...), on n'est pas rendu, ma pauvre Lucette !!
[/aparté]
(oui, je sais je plagie la pub Tipiak ;))

Le demandeur a écrit le mot VBA dans son message, alors le répondeur (que je suis) a bêtement pondu du VBA. ;)

EDITION: Merci j'ai corrigé (erreur de copier/coller)
 

patricktoulon

XLDnaute Barbatruc
re
juste pour le fun mais vraiment pour le fun et la on est en plein vba

VB:
Sub ModifBarCel() ' a lancer a l'open ou l'activate d'un sheets en particulier(prévoir un reset de la bar  a la fermeture du fichier
Dim i&
Set bar = CommandBars("cell")
bar.Reset
For Each b In bar.Controls
i = i + 1
If b.Caption = "Insérer un co&mmentaire" Then b.Enabled = False: Exit For
Next
Set bout = bar.Controls.Add(msoControlButton, before:=i + 1)
bout.Caption = "commentaire Vert"
bout.OnAction = "'AddCommentPerso " & Chr(34) & 12 & """,""" & 10 & """,""" & 0 & """,""" & vbWhite & """,""" & RGB(170, 255, 155) & """,""" & 3.5 & "'"
Set bout = bar.Controls.Add(msoControlButton, before:=i + 2)
bout.Caption = "commentaire rouge"
bout.OnAction = "'AddCommentPerso " & Chr(34) & 9 & """,""" & 10 & """,""" & 0 & """,""" & vbWhite & """,""" & vbRed & """,""" & 3.5 & "'"
End Sub



Sub AddCommentPerso(fontcolor, fontsize, linecolor, bagroundcolor, fillforcolor, offsetXY)
MsgBox fontsize
'tu sais ce qu'il te reste a faire ici :)
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

patricktoulon
Ton précédent fil m'a fait aller farfouiller dans les options d'Excel
Apparemment on ne peut pas créer un style de commentaire par défaut
(Bien qu'il existe un style nommé Commentaire mais qui s'applique qu'aux cellules)
Il y a bien ceci pour les version supérieures à 2007
Mais je pensais qu'on pouvait modifier à la mimine le format par défaut des commentaires.
Tu confirmes que ce n'est pas possible?
 

Discussions similaires