Astuce Excel date dernière modification
Astuce Excel : Suivi automatique des modifications avec date et heure
🎯 Dans ce tutoriel Excel, je vais vous montrer une astuce pratique pour automatiser le suivi des modifications dans vos fichiers Excel, que ce soit pour des projets professionnels ou personnels.
⏰ Facile à mettre en place, cette méthode vous permettra d'afficher automatiquement la date et l'heure de la dernière modification sur la ligne concernée après chaque changement.
📋 Mais ce n'est pas tout : chaque modification effectuée sur le premier onglet sera enregistrée automatiquement dans un onglet dédié, vous offrant une traçabilité complète.
🔗 De plus, grâce au lien hypertexte attribué à la cellule modifiée, en un clic vous pourrez visualiser rapidement la cellule correspondante sur votre premier onglet.
⏳ Ainsi, vous allez gagner du temps pour suivre vos modifications sans avoir à les enregistrer manuellement.
Voir la vidéo pour suivre les différentes étapes :
Pour vous entraîner et suivre les étapes de ce tutoriel,
➡️ Télécharger le fichier Excel utilisé dans la vidéo.
👇
Après avoir ouvert le lien :
- Vous cliquez sur "Fichier",
- puis sur "Enregistrer sous", ou sur "Créer une copie",
- et sur "Télécharger une copie".
Un autre tutoriel qui pourrait vous intéresser :
📌↪️→ Code VBA à utiliser :
Dim OldValue As Variant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Me.Range("B:D")) Is Nothing Then
OldValue = Target.Value
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
Dim UpdateRange As Range
Dim ws As Worksheet
Set UpdateRange = Intersect(Target, Me.Range("B:D")) ' Définir les colonnes à surveiller
Set ws = ThisWorkbook.Sheets("Suivi Modifications") ' Onglet pour enregistrer l'historique des modifications
If Not UpdateRange Is Nothing Then
For Each cell In UpdateRange
' Mettre à jour la date et l'heure de la dernière modification dans la colonne F
Me.Cells(cell.Row, "F").Value = Now
Me.Cells(cell.Row, "F").NumberFormat = "dd/mm/yyyy hh:mm"
Dim LastRow As Long
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row + 1
' Ajout lien hypertexte dans la colonne A
Dim CellAddress As String
CellAddress = Replace(cell.Address, "$", "")
ws.Hyperlinks.Add Anchor:=ws.Cells(LastRow, 1), Address:="", SubAddress:= _
"'" & Me.Name & "'!" & cell.Address, TextToDisplay:=CellAddress
If IsNumeric(OldValue) Then
ws.Cells(LastRow, 2).Value = CDbl(OldValue)
ws.Cells(LastRow, 2).NumberFormat = "0.00"
Else
ws.Cells(LastRow, 2).Value = OldValue
End If
If IsNumeric(cell.Value) Then
ws.Cells(LastRow, 3).Value = CDbl(cell.Value)
ws.Cells(LastRow, 3).NumberFormat = "0.00"
Else
ws.Cells(LastRow, 3).Value = cell.Value
End If
ws.Cells(LastRow, 4).Value = Now ' Date et heure de la modification
ws.Cells(LastRow, 4).NumberFormat = "dd/mm/yyyy hh:mm"
Next cell
' NE PAS MODIFIER CES LIGNES DE CODE, car il s'agit des colonnes sur le deuxième onglet
ws.Columns("B:D").AutoFit
ws.Columns("A").ColumnWidth = 10
ws.Columns("A").HorizontalAlignment = xlCenter
ws.Columns("B:D").HorizontalAlignment = xlCenter
ws.Rows(LastRow).RowHeight = 22
ws.Rows(1).RowHeight = 40
End If
End Sub