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

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 )
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
voila une petite boite de dialogue perso qui m'amuserait a faire
je vais tester sur 2013
edit:
pareille sur 2013
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Quand tu insères un commentaire manuellement puis que tu le sélectionnes (clic-droit)
au dessus de Format de commentaire, on trouve:Définir comme attributs par défaut
Cela s'applique à quoi?
à la cellule?
au commentaire?
 

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 ;(
 

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…