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
 

patricktoulon

XLDnaute Barbatruc
re
oui sur 2007 les options sont étonnamment inopérantes
va savoir pourquoi on a un dialog "format de commentaire" pour qu'il soit inopérant :rolleyes:
voila une petite boite de dialogue perso qui m'amuserait a faire ;)
je vais tester sur 2013
edit:
pareille sur 2013
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
bon ben tu va pas le croire
je viens de faire des tests car il me semblais bien que j'avais des fichiers avec commentaires en couleurs
et en effet sauf que se sont des xls
j'i donc tester voir si je me trompais pas et refermé le xls(version 2003)
et quand j'ouvre un nouveau fichier donc XLSX(2007 et +) apres la fermeture du XLS ET BIEN JE TE LE DONNE DANS LE MILLE LE DIALOG FONCTIONNE

encore une énigme a découvrir

pour l'item du menu je vais voir ce que c'est

edit: je supose que ca s'adresse au commentaire sinon l'item serait aussi présent dans le menu"cell"
 
Dernière édition:

Jybe

XLDnaute Nouveau
Alors, j'ai testé celle-là :


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 => j'ai mis False
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

Mais ça me met pas la large constante pour les commentaires ... :\
 

Jybe

XLDnaute Nouveau
Celle-là :

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

est mieux car j'ai bien les colonnes à la largeur fixe souhaitée, mais la hauteur n'est pas automatique ;(
 

patricktoulon

XLDnaute Barbatruc
bonjour Jybe

@Staple1600 noyeux joel ;)
demo3.gif
 

Pièces jointes

  • commentaire perso.xlsm
    17.4 KB · Affichages: 7

Staple1600

XLDnaute Barbatruc
Re

Je te laisse tester celle-ci
VB:
Sub DansLesGrandesLargeurs()
Const LargeurConstante As Long = 275
Dim c As Excel.Comment
For Each ws In Worksheets
For Each c In ws.Comments
c.Shape.OLEFormat.Object.AutoSize = True
c.Shape.Width = LargeurConstante
c.Visible = True
Next c
Next ws
End Sub
Puis faire et/ou un mix/adapter les deux macros ;)
 

Staple1600

XLDnaute Barbatruc
Re

Une dernière à ajouter au mixeur
VB:
Sub DansMonAutoJeFumeDesKingSize()
Const LargeurConstante As Long = 275
Dim c As Excel.Comment
For Each ws In Worksheets
For Each c In ws.Comments
'c.Shape.OLEFormat.Object.AutoSize = True
c.Shape.Width = c.Shape.TopLeftCell.Width
c.Shape.Height = c.Shape.TopLeftCell.Height
'c.Visible = True
Next c
Next ws
End Sub
Normalement avec tout cela, tu as toute latitude pour formater tes shapes à ta guise ;)
(Il suffit d'adapter, copier/coller, tester, corriger et recommencer)
 

Jybe

XLDnaute Nouveau
Merci aussi Staple1600 de me fournir toutes ces solutions, mais malheureusement ça marche pas (on y est presque pourtant).
Ta dernière macro me laisse voir que la 1ère ligne de mes commentaires, et celle d'avant me montrait qlq lignes mais tronque le commentaire
 

Staple1600

XLDnaute Barbatruc
Re,

Jybe
On peut continuer longtemps comme cela à pédaler dans la semoule...
Il peut être temps de joindre un fichier exemple avec deux onglets : AVANT et APRES
(sur ce dernier figurera le résultat à obtenir)

NB: Sur l'onglet AVANT, tu auras pris soin d'insérer 4 ou 5 commentaires.
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 900
Membres
101 834
dernier inscrit
Jeremy06510