XL 2016 Macro convertir commentaires en notes

ViroMajor

XLDnaute Nouveau
Bonjour à tous,

Version Excel : 365. Via cette mouture, les anciens commentaires sont devenus des “notes” (coche rouge dans le coin de la cellule) et ce qui s’intitule des commentaires (coche violette) désormais inclus la mention de l’auteur avec horodatage avec possibilité de fil de discussion par réponses intercalées

Y’aurait-il une macro capable de transformer la totalité des nouveaux commentaires (fonds gris avec auteur, corps de texte et horodatage), d’une feuille ou d’un classeur entier, en notes (anciens commentaires sur fond jaune), en ne gardant que le corps texte et en ôtant auteur et horodatage ?

NB HS : lors de la transition aux nouvelles versions d’Excel, Excel rajoute aux notes le nom de l’auteur (ce qui est chiant pour ainsi dire)

Si un saint sauveur pas nommé Bernard passe par là... merci
Bien à vous
 

ViroMajor

XLDnaute Nouveau
Concrêtement, reformulation en images plutôt qu’en mots

1030460



Yaxt’il moyen de passer un coup de baguette magique sur tout le classeur ou au moins feuille active, pour transformer ceci (nouvelle définition de commentaire)

1030461


...en notes (anciens commentaires)

1030462


Merci bien aux apprentis magiciens
 
Dernière édition:

ViroMajor

XLDnaute Nouveau
Bonjour Dranreb

Par l’enregisreur, j’édite le commentaire, copie (ctrl+c) son contenu, efface le commentaire, rajoute une note en collant le copié précédent

Ca donne ça

VB:
Sub Macro3()
    Selection.ClearComments
    Range("H63").AddComment
    Range("H63").Comment.Visible = False
    Range("H63").Comment.Text Text:="test"
    Range("H63").Select
End Sub

A noter que la partie copiage de contenu, collage, semble absente...
donc avec un autre contenu de départ, c’est rapé
 

Dranreb

XLDnaute Barbatruc
A noter que la partie copiage de contenu, collage, semble absente...
Ça c'est normal: ce ne sont pas des manœuvre Excel, ça passe indépendamment de lui par le presse papier.
Ce qui est plus gênant c'est que la suppression du commentaire ne donne lieu à aucun code, si le ClearComments ne vire pas à la fois les commentaires et les notes.
Vous allez devoir cherchez les méthodes de l'objet Range permettant d'agir dessus …
À tout hasard essayez de générer une macro qui modifie le texte du commentaire qui sera à reprendre comme texte de la note. Peut être que ça peut permettre de voir ce qu'elle touche, et qu'il faudra donc récupérer.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Dranreb:
Tu as zappé mon message, non?
Celui à propos de CommentThreaded
Parce que j'ai beau cherché, apparemment on peut faire peu de choses en VBA avec cette nouveauté.
(Et surtout, il y a des problèmes quand on ouvre le classeur avec une version antérieure à Excel 365/2016)
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Regrettable.
Quoi qu'en dise Staple1600, il ne manquait probablement pas grand chose pour pouvoir récupérer le texte du commentaire nouvelle conception, issu de la conversion automatique d'une note, pour en refaire une simple note.
Il suffit d'être patient, de trouver avec des MsgBox TypeName(… les noms des types d'objets impliqués, de déclarer des variables de ces types pour avoir des liaisons anticipées, afin de trouver plus facilement les propriétés et méthodes impliquées à manipuler.
Mais évidemment on ne peut pas le faire à votre place puisque ces types d'objets n'existent pas dans nos versions d'Excel.
 

ViroMajor

XLDnaute Nouveau
Bonjour, ce petit pas grand chose fait parfois toute la différence :) quoiqu’il en soit, ce besoin étant unique (une fois la transition passée, on prend les nouvelles habitudes), il est plus facile d’accepter la concession faite. Bon weekend Dranreb
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour le fil, ViroMajor, Dranreb

Quoi qu'en dise Staple1600, il ne manquait probablement pas grand chose pour pouvoir récupérer le texte du commentaire nouvelle conception, issu de la conversion automatique d'une note, pour en refaire une simple note.
Il suffit d'être patient, de trouver avec des MsgBox TypeName(… les noms des types d'objets impliqués, de déclarer des variables de ces types pour avoir des liaisons anticipées, afin de trouver plus facilement les propriétés et méthodes impliquées à manipuler.
Personnellement, je n'ai rien dit, je n'ai fait que citer avec un lien.

D'ailleurs, je ne peux pas faire grand chose d'autre, car tout comme Dranreb, ma version d'Excel est inférieure à Excel 365.
(Donc pas possibilité de faire des tests en VBE)
 

Discussions similaires