Suivre les changements dans une cellule

Bonjour à tous,

Voici une petite macro qui pourrait vous rendre de grands services.

L'objectif est de suivre les modifications apportées dans une plage spécifique d'une feuille de calcul.

Ici, la cellule modifiée est mise en rouge et un commentaire avec l'historique des modifications est ajoutée.

Vous pouvez télécharger le fichier ici :

Lien du fichier

Pour utiliser le code dans vos applications, définissez une plage avec le nom "PlageACompleter"

Puis, clic droit sur la feuille, visualiser le code et coller le code ci-dessous.
Le code est relativement court, mais il reste encore un certain nombre de cas non traités. Par exemple, on ne peut pas travailler avec plusieurs cellules en même temps, le copier coller ne va pas bien fonctionner, ou encore l'absence d'annulation.

Option Explicit
Public AncienneValeur As Variant
Public bNePasTraquerSuivi As Boolean
Public Sub Worksheet_SelectionChange(ByVal Target As Range)
    If bNePasTraquerSuivi Then Exit Sub
    AncienneValeur = Target.Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
    If bNePasTraquerSuivi Or Selection.Cells.Count > 1 Then Exit Sub
    Dim strCommentText As String
    If Not Intersect(Target, Range("PlageACompleter")) Is Nothing Then
        Target.Interior.Color = RGB(255, 0, 0)
        If Not Target.Comment Is Nothing Then
            strCommentText = Target.Comment.Text
            Target.Comment.Text Text:=Date & " " & Time & " : " & CStr(AncienneValeur) & vbCrLf & strCommentText
        Else
            Target.AddComment Date & " " & Time & " : " & CStr(AncienneValeur)
        End If
    End If
End Sub

N'hésitez pas à me dire si ce code vous est utile.

Pour marque-pages : Permaliens.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *


La période de vérification reCAPTCHA a expiré. Veuillez recharger la page.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.