Ajout de commentaire par VBA : Figer sa position
Bonjour,
j'ai une feuille où j'insère un commentaire par macro sur la cellule sélectionnée.
Je souhaiterai pouvoir figer sa position.
Cela marche très bien avec les propriété ".Comment.Shape.Top" et ".Comment.Shape.Left" ,
mais seulement si on affiche le commentaire (".Comment.Visible = True")
Losrque on le survole, sa position est différente, définit par défaut par Excel.
Peut-on figer cette position de commentaire pour le "survol" ?
Voici le code utilisé actuellement :
Sub Ajout_Commentaire()
With Selection.Range("A1")
.ClearComments
.AddComment "Texte trop long." & vbNewLine & vbNewLine & "Nombre de caractères : " & Len(Selection.Range("A1")) & vbNewLine & "(Max. autorisé : 24)"
.Comment.Visible = True
With .Comment.Shape
.TextFrame.AutoSize = True
.Fill.ForeColor.SchemeColor = 45
.AutoShapeType = msoShapeRoundedRectangle
.Top = Selection.Top - 28
.Left = Selection.Left + 170
.TextFrame.Characters.Font.Size = 10
.TextFrame.Characters(Start:=1, Length:=21).Font.Bold = True
End With
End With
End Sub
EDIT : Petite question subsidiaire sur les Commentaires, je ne comprends pas pourquoi le code suivant ne traite que le 1er commentaire de la forme :
With Cells.SpecialCells(xlCellTypeComments)
.Comment.Shape.Fill.ForeColor.SchemeColor = 3
End With