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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
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.
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.
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.
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.
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.
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.
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" <christian.lecossier@voila.fr> a écrit dans le message de news:%23oJ4k1GWEHA.2816@TK2MSFTNGP11.phx.gbl...
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.
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.