Exel 2007-2010 - date d'insertion automatique lors de l'ajout d'un nouveau commentaire ou d'une modification

2

Je constate que lorsque j'ajoute un nouveau commentaire à une cellule, Excel y insère automatiquement mon nom d'utilisateur. Je me demande donc si nous pouvons ou non configurer Excel de manière à ajouter un en-tête à mon commentaire.
En fait, j'ai besoin d'Excel pour insérer automatiquement la date lorsque j'insère un nouveau commentaire. Puis-je le faire? Si oui, pouvez-vous donner un guide pour le faire!
Merci! Nom d'utilisateur
ajouter un nouveau commentaire


Pour votre information, j'essaye avec quelques morceaux de code VBA, mais je ne peux toujours rien obtenir d'utile! Peut-être le week-end prochain ... humph

Luke
la source
1
Vous le voulez pour un fichier spécifique ou Excel en général?
Siim K
@SiimK Je le veux pour tous les fichiers Excel.
Luc
1
vous devriez accepter les réponses de vos questions précédentes. -> voir meta.stackexchange.com/questions/5234/...
Jmax

Réponses:

2

Il n'y a pas de moyen facile de faire cela. S'il s'agit d'une opération ponctuelle, vous pouvez accéder aux options Excel et ajouter la date à votre nom d'utilisateur. Vous devez vous rappeler d'annuler le changement lorsque vous avez terminé.

Sinon, vous devrez écrire du code. Malheureusement, Excel n'enregistre pas d'événement lorsque vous créez ou modifiez un commentaire. Vous ne pouvez donc pas modifier un commentaire lors de sa création. Le mieux que vous puissiez faire est d'écrire une routine pour gérer l'ajout de commentaires. Vous devrez ensuite toujours utiliser la macro pour ajouter des commentaires.

Voici un exemple rapide:

Sub AddNewComment()
   Dim sComment As String, rng As Range

   If TypeName(Selection) = "Range" Then
      Set rng = Selection

      sComment = InputBox("Enter your comment.", "Add New Comment")
      If Len(sComment) > 0 Then
         ' append date and username to comment
         sComment = Format(Date, "m/d/yy") & " " & Application.UserName & ":" & vbLf & sComment
         If rng.Comment Is Nothing Then
            rng.AddComment sComment
         Else
            ' append new comment to existing comment
            rng.Comment.Text vbLf & sComment, Len(rng.Comment.Text) + 1, False
         End If

      End If

      Set rng = Nothing
   End If

End Sub

Remarque: tout le texte sera clair. Vous ne pouvez pas définir une partie de votre texte (UserName) en gras avec la .Textfonction.

mischab1
la source