Affichage commentaires dans une cellule

Bonjour

Je voudrais afficher dans une cellule calc le commentaire d’ une autre cellule.
J’arrive a copier le commentaire d’une cellule dans une autre cellule; mais dans cette dernière le contenu est vide avec le commentaire copié.

Merci

Bonjour

La procédure de copie de commentaire sans écraser le contenu de la cellule cible est décrit dans cette FAQ.

[Ajout 29-09-20 11:05]

Pour copier le texte du commentaire je ne vois pas d’autre solution que le triple clic pour le sélectionner (un pour éditer, deux pour tout sélectionner) puis copier-coller dans la cellule cible…

Pour copier la zone de commentaire (le dessin), je ne vois pas d’autre solution que la copie d’écran…

Cordialement

Bonsoir
merci de votre réponse
bonne soirée

Bonsoir
merci pour votre réponse.
Mais ça ne correspond pas à ma demande. J’ai certainement mal formuler ma question.
Je voudrai copier le commentaire d’une cellule et le coller comme donnée dans une autre cellule (et non comme commentaire).
Merci

Bonsoir
Merci pour vos réponses.
J’ ai un tableau avec beaucoup de cellules avec"commentaires" que je veux récupérer.
La Macro-type de Michel Mgl correspond exactement à ma demande;
Merci
bonne soirée

@JDPH1281 dans ce cas pourrais-tu marquer la réponse de @mgl comme la réponse acceptée ? De mon côté je “vote” également pour cette réponse (clic sur le ˆ)

Cordialement

Bonjour @JDPH1281

La copie manuelle est facile à mettre en œuvre, même si elle est fastidieuse.

Pour les gros volumes de données, il devrait être possible de développer une macro qui scruterait toutes les cellules d’une plage et recopierait les commentaires dans une autre plage.

Complément : voici une macro-type pour recopier les commentaires de la plage A5:A10 dans la colonne C.

Sub RECOPIE_COMMENTS()
Dim oSheet As Object, oRange as Object, oCell as Object, oTarget as Object
Dim oNote As String, oPosition as String
Dim i as Integer

Set oSheet = ThisComponent.CurrentController.ActiveSheet
Set oRange = oSheet.getCellRangeByName("A5:A10")

For i = 1 To oRange.Rows.getCount() - 1             
    Set oCell = oRange.getCellByPosition( 0, i )
    oPosition = "C"&CStr(i+5)
    Set oTarget = oSheet.getCellRangeByName(oPosition)
    oNote = CStr(oCell.Annotation.Text.String)
'    if (oNote <> "") then 
		oTarget.setString(oNote)
'    end if
Next i
End Sub

Données de base et résultat

Pour montrer à la communauté que la question a trouvé sa réponse, cliquez sur ✓ à côté de la “bonne” réponse, et “votez” en cliquant sur la flèche ^ de toute réponse utile. Ce sont les mécanismes utilisés pour communiquer la qualité des questions et réponses sur ce site. Merci!

Pour tout complément d’information, utilisez les boutons situés en dessous de votre question et éditez votre question ou simplement ajouter un commentaire. N’utilisez pas une réponse.

Belle journée, Michel