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.

Combiner du texte dans les cellules d’un tableau (croisé dynamique)

Voici un exemple classique de situation qui aurait du être résolue depuis des décennies, mais que Microsoft continue d'ignorer...

Le problème est : comment remplir un TCD avec la concaténation des valeurs et non pas en utilisant une fonction de calcul.

Cliquez ici pour télécharger le fichier

Il existe bien une solution hyper sioux à base de DAX (j'y reviendrai dans un prochain post), mais si vous avez une version Mac d'excel ou bien une ancienne version d'excel, vous êtes un peu coincé.

Voici donc une solution en VBA. Simple d'utilisation mais avec du code VBA un peu complexe. Le code est commenté, mais il faudrait une bonne heure de formation pour tout expliquer.
Si vous voulez en savoir plus, ça tombe bien, j'ai justement la formation pour ca ! 🙂
www.xlerateur.com/pack-accelerateur

Pour le moment, c'est une béta version. N'hésitez pas à me dire si vous aimez, si vous rencontrez des bugs et si vous aimeriez voir des améliorations.

Evidemment, je ne pourrais pas recréer toutes les fonctionnalités des TCD, mais il doit y avoir quelques aspects intéressants spécifiques au texte.

Voici quelques idées :

  • Toutes les fonctionnalités déjà existantes des TCD. Ce serait avec grand plaisir, si vous avez 2 milllions d'euros ! On peut penser à : actualisation, formatage, interactivité, etc.
  • Création de commentaires plutôt que du texte.
  • Option d'intégration de ces commentaires dans un TCD existant

En espérant que c et utiliaire vous plaira !

N'hésitez pas à commenter