Commentaire d'une cellule

F

Frédéric

Guest
Comment peut-on tester, via une macro, la présence d'un commentaire dans une cellule? (Ce commentaire aura été saisi par le menu - Affichage - Saisir un commentaire).

Merci d'avance.
 
@

@+Thierry

Guest
Bonjour Frédéric et André,

Pas sur d'avoir compris aussi la question... Il y a plein d'option d'affichage pour les commentaires... Mais bon... Si çà ne suffit pas

Enfin une macro pour afficher les commentaires dans une MsgBox par double Click....

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error GoTo Fin
Toto = ActiveCell.Comment.Text
MsgBox "Commentaires = " & Chr(10) & Toto
Exit Sub
Fin:
MsgBox "Pas de Commentaire"
End Sub

Bonne Journée
 
F

Frédéric

Guest
Merci André et Thierry

En fait le but est d'afficher tous les commentaires saisis dans les cellules appartenant à la ligne où est positionné le curseur. Les commentaires des autres cellules ne doivent pas s'afficher.

L'option proposée par excel "Affichage des commentaires" ne me convient pas car elle affiche tous les commentaires.

Je vais essayer d'adapter le code que vous m'avez transmis Thierry.


Merci à tous 2 et bonne journée
 
A

andré

Guest
Salut Frédéric,

Demi solution à ta question :
Tu sélectionnes ta ligne, tu fais F5 / Cellules / Commentaires / OK, puis au moyen de la touche TAB et navigues d'une cellule avec commentaire à l'autre et en passant sur la cellule avec ta souris, le commentaire s'affiche.
Je n'ai pas (encore) trouvé mieux.

André.
 
T

Ti

Guest
utilise cette macro événementielle que tu placeras dans le code de ta feuille. Les commentaires de la ligne sélectionnée s'afficheront automatiquement, les autres seront masqués

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Ti 17-12-02
Dim Cmts As Comments, Cmt As Comment
Set Cmts = Worksheets(1).Comments
For Each Cmt In Cmts
With Cmt
If .Parent.Row = Target.Row Then .Visible = True Else _
.Visible = False
End With
Next Cmt
End Sub
 
T

Ti

Guest
petite erreur, je suis allé trop vite, c'est celle-là qui marche :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Ti 17-12-02
Dim Cmts As Comments, Cmt As Comment
Set Cmts = ActiveSheet.Comments
For Each Cmt In Cmts
With Cmt
If .Parent.Row = Target.Row Then .Visible = True Else _
.Visible = False
End With
Next Cmt
End Sub
 

Discussions similaires

Réponses
7
Affichages
363

Statistiques des forums

Discussions
314 022
Messages
2 104 699
Membres
109 110
dernier inscrit
kld