Ajouter un commentaire VBA

Bonjour tout le monde , meilleurs vœux

J'ai besoin d’insérer automatiquement un commentaire sans écraser l'ancien commentaire si existant dans la feuille "product" indiquant l'ancienne valeur et la source de la nouvelle valeur.

Par exemple :

cellule : (j, 10) -> commentaire : valeur précédente 100 & nouvelle valeur source : "solde"

vous pouvez tester avec ce fichier tout est dedans.

Merci les ami(es) et passez une bonne soirée

509test-2-3.xlsm (52.27 Ko)

Re bonjour,

le soucis est dans cette ligne, car le commentaire n'affiche pas l'ancienne valeur mais plutôt la valeur actuelle:

f2.Cells(id.Row, .Cells(1, j)).AddComment "valeur de la cellule precedente" & f2.Cells(id.Row, .Cells(1, j)).Value & "  source  " & f1.Name

j'ai essayé de récupérer toutes les valeurs de la f2 dans une variable pour les récupérer plus tard dans le commentaire mais en vain...

Bonne journée

Bonjour,

Bonne année.

Voici un exemple à adapter à ta situation et à y ajouter toutes les sécurités nécessaires :

'code événementiel à placer dans le module de la feuille concernée
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Comment Is Nothing Then
    Target.AddComment
    Target.Comment.Text Text:=CStr(Target.Value2)
Else
    Target.Comment.Text Text:=CStr(Target.Value2) & Chr(10) & "Valeur précédente : " & Target.Comment.Text
End If
End Sub

Bonjour,

Bonne année.

Bonne année à toi aussi, merci pour ta réponse.

Donc, ton code est plutôt pour éviter d'écraser un commentaire s'il existe déjà ? je viens de de tester il est fonctionnel mais il conserve pas l'ancienne valeur

C'est donc que je n'ai pas compris ta demande, qu'il te faudra donc reformuler plus clairement...

C'est donc que je n'ai pas compris ta demande, qu'il te faudra donc reformuler plus clairement...

d'accord , j'ai un code qui fait un transfert de données entre deux feuilles.

le but :

insèrer le commentaire qui :

  • affiche l'ancienne valeur 100 ( qui redevient "105" dans la cellule) dans le commentaire et indique la source
  • indique la source de la nouvelle valeur
  • ne pas écraser un commentaire existant

cette ligne de code :

est normalement responsable de l'insertion du commentaire lors du transfert.

f2.Cells(id.Row, .Cells(1, j)).AddComment "valeur de la cellule precedente" & f2.Cells(id.Row, .Cells(1, j)).Value & "  source  " & f1.Name

Cette ligne :

Insère le commentaire mais :

  • affiche la nouvelle valeur ( "105") de la cellule dans le commentaire et non pas l'ancienne qui dans mon exemple est : 100
  • indique la source de la nouvelle valeur
  • écrase un commentaire existant

Merci et bonne appétit

insèrer le commentaire qui :

affiche l'ancienne valeur 100

Ancienne valeur de qu'elle cellule?

Ancienne valeur de qu'elle cellule?

Ah pardon, de la cellule f2 -->'' product"

si tu exécute le code , la valeur 100 ce la cellule (J,10) elle deviendra 105

Pour toutes tes cellules?

Si oui, alors je ne vois pas trop comment faire...

Si non, la procédure événementielle que je te donne plus haut fait entièrement l'affaire.

Elle traite les commentaires au fur et à mesure des saisies de valeurs.

Pour toutes tes cellules?

Oui pour toutes les cellules exporter..

Si non, la procédure événementielle que je te donne plus haut fait entièrement l'affaire.
Elle traite les commentaires au fur et à mesure des saisies de valeurs.

elle fonctionne bien mais :

elle affiche uniquement la nouvelle valeur de la cellule

Fais nous passer le fichier ou tu as intégré ma macro.

Fais nous passer le fichier ou tu as intégré ma macro.

Voilà avec macro intégrer et tester

16test.xlsm (56.81 Ko)

Re Bonjour,

y-t-il du nouveau car de mon coté je bloque toujours

Bonne journée

proposition (désolé peerl, je n'avais pas vu ton post !)

Sub new_comment(cel As Range, texte As String)
With cel
    ancien = ""
    On Error Resume Next
        ancien = .Comment.Text
        .ClearComments
    On Error GoTo 0
    .AddComment ancien & texte
End With
End Sub
Rechercher des sujets similaires à "ajouter commentaire vba"