Bonjour à vous tous,
C’est dommage que MS n’est pas amélioré l’objet « Comment »
J’ai fait un bidouillage avec l’objet shape "Rectangle" pour pallier à ce manque,
Il est fait pour la colonne "C" alors il faudra adapter si c’est pour une autre colonne.
Dans le fichier Il y a une feuille masqué nommé « Commentaire», cette feuille est masquée via la macro :
Sub Sheet_Commentaire_Masquer()
Sheets("Commentaire").Visible = xlVeryHidden
End Sub
Alors si vous avez besoin de rendre cette feuille visible, il faut exécuter la macro suivante :
Sub Sheet_Commentaire_Visible()
Sheets("Commentaire").Visible = True
End Sub
Lorsqu’une cellule de la colonne "C" est sélectionnée,
- au menu Cell (clic droit sur une cellule » un ajout de menu est fait au premier rang « Modifier_Commentaire »
- si la cellule contient un commentaire un shape apparait avec le texte de la feuille « commentaire » correspondant à la même adresse de cellule, sinon le menu « Modifier_Commentaire » est là pour l’ajout ou la modification du commentaire.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 3 Then
Call Commentaire_Shape(Target)
'Ajout au menu "Cell" la macro "Modifier_Commentaire"
Menu_Commentaire
Else
ActiveSheet.DrawingObjects.Delete
'Supprimer du menu "Cell" la macro "Modifier_Commentaire"
Application.CommandBars("cell").Reset
End If
End Sub
Sinon lorsqu’une cellule autre que sur la colonne « C » est sélectionnée,
- Le menu « Modifier_Commentaire » disparait du menu « Cell »
- Et les shapes "Rectangle" sont supprimés.
Si votre feuille contient déjà des objets Shapeautre que "Rectangle" il faudra prévoir une condition pour que ceux-ci ne soient supprimés.
C’est-à-dire de remplacer
ActiveSheet.DrawingObjects.Delete
Par :
Call Suprime_Shapes_Comments
Sub Suprime_Shapes_Comments()
For Each shp In ActiveSheet.Shapes
If Left(shp.Name, 9) = "Rectangle" Then shp.Delete
Next
End Sub