OVH Cloud OVH Cloud

Cimmentaires et positions

3 réponses
Avatar
Christian.L
Bonjours à tous

J'ai une feuille avec des commentaires.

Le problème est que a force de manipulation de la feuille, les commentaires
se retrouvent parfois à plusieurs dizaines (voir centaines) de ligne de la
cellule à laquelle ils sont attachés.

Existe t'il une commande ou une piste de programmation VBA pour ramener ces
commentaires au voisinage des cellules concernées.

Merci d'avance.

C.L.

3 réponses

Avatar
Nicolas B.
Salut Christian,

Si tu ne tiens pas vraiment à la mise en forme de tes commentaires (taille,
police, auteur...), tu peux essayer ceci :

Sub InitCommentaires()
For Each c In ActiveSheet.Comments
tg = c.Parent.Address
txt = c.Text
c.Delete
Range(tg).AddComment txt
Next
End Sub


A+
--
Nicolas B.


Bonjours à tous

J'ai une feuille avec des commentaires.

Le problème est que a force de manipulation de la feuille, les
commentaires se retrouvent parfois à plusieurs dizaines (voir
centaines) de ligne de la cellule à laquelle ils sont attachés.

Existe t'il une commande ou une piste de programmation VBA pour
ramener ces commentaires au voisinage des cellules concernées.

Merci d'avance.

C.L.


Avatar
isabelle
bonjour Christian,

voici un exemple,

Sub RepositionnerCommentaireEtFixerAuCellule()
Dim c
For Each c In Cells.SpecialCells(xlCellTypeComments)
With c.Comment.Shape
.Left = c.Left + c.Width + 8
.Top = c.Top - 5
.Placement = xlMoveAndSize
With .OLEFormat.Object
With .Font
.Name = "Arial"
.FontStyle = "Italique"
.Size = 11
.Color = vbRed
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
End With
End With
Next
End Sub

isabelle


Bonjours à tous

J'ai une feuille avec des commentaires.

Le problème est que a force de manipulation de la feuille, les commentaires
se retrouvent parfois à plusieurs dizaines (voir centaines) de ligne de la
cellule à laquelle ils sont attachés.

Existe t'il une commande ou une piste de programmation VBA pour ramener ces
commentaires au voisinage des cellules concernées.

Merci d'avance.

C.L.


Avatar
michdenis
Bonjour Christian,

'--------------------------
Sub Commentaires()

Dim C As Comment, Adr As String, Rg As Range
Dim T As Object, Feuille As String

Feuille = ActiveSheet.Name
Application.ScreenUpdating = False
For Each sh In Worksheets
sh.Activate
For Each C In sh.Comments
C.Visible = True
Set Rg = Range(C.Parent.Address)
If Rg.Column < 254 Then
C.Shape.Select
Set T = Selection
T.Top = Rg.Offset(, 1).Top
T.Left = Rg.Offset(, 1).Left
C.Visible = False
Else
C.Shape.Select
Set T = Selection
T.Top = Rg.Offset(, -1).Top
T.Left = Rg.Offset(, -1).Left
C.Visible = False
End If
Next
sh.Range("A1").Select
Next
Worksheets(Feuille).Select

Set C = Nothing: Set Rg = Nothing: Set T = Nothing

End Sub

'--------------------------

Salutations!




"Christian.L" a écrit dans le message de news:%
Bonjours à tous

J'ai une feuille avec des commentaires.

Le problème est que a force de manipulation de la feuille, les commentaires
se retrouvent parfois à plusieurs dizaines (voir centaines) de ligne de la
cellule à laquelle ils sont attachés.

Existe t'il une commande ou une piste de programmation VBA pour ramener ces
commentaires au voisinage des cellules concernées.

Merci d'avance.

C.L.