Suivi des modifications sur les feuilles

Bonjour à tous,

dans un cadre de projet pro, j'ai commencé de créer une application du suivi, et je commencer de créer un code qui me permet de suivre les modifications sur la feuille " données".

je voulais quand une personne ajoute ou modifie ma base de donnée, je peux tracer les modifications dans la feuille journal.

mot de passe de ma feuille TBD=1993

12tbd.xlsm (164.92 Ko)

Merci d'avance pour vos propositions des solution.

Veuillez trouver ci-joint l'exemple.

excel

Re,

Voilà le code qui ne marche pas

Private Sub Workbook_Sheetchange(ByVal feuille As Object, ByVal cible As Range)

Dim avant() As Variant, apres() As Variant

On Error GoTo fin

If feuille.Name = "journal" Then Exit Sub

If feuille.Name = "TDB" Then Exit Sub

If cible.Columns.Count = Columns.Count Or cible.Rows.Count = Rows.Count Then

Application.EnableEvents = False

Application.Undo

Application.EnableEvents = True

MsgBox "Impossible d'agir sur une ligne ou une colonne complète !"

Exit Sub

End If

Application.EnableEvents = False

ReDim avant(1 To cible.Rows.Count, 1 To cible.Columns.Count)

ReDim apres(1 To cible.Rows.Count, 1 To cible.Columns.Count)

Application.Undo

For lig = 1 To UBound(avant)

For col = 1 To UBound(avant, 2)

avant(lig, col) = cible.Cells(1, 1).Offset(lig - 1, col - 1).FormulaLocal

Next

Next

Application.Undo

For lig = 1 To UBound(apres)

For col = 1 To UBound(apres, 2)

apres(lig, col) = cible.Cells(1, 1).Offset(lig - 1, col - 1).FormulaLocal

Next

Next

For lig = 1 To cible.Rows.Count

For col = 1 To cible.Columns.Count

If avant(lig, col) <> apres(lig, col) Then

With Sheets("journal").ListObjects(1)

.ListRows.Add

i = .ListRows.Count

With .DataBodyRange

.Cells(i, 1) = Now

.Cells(i, 2) = feuille.Name

.Cells(i, 3) = cible.Cells(1, 1).Offset(lig - 1, col - 1).Address

.Cells(i, 4) = "'" & avant(lig, col)

.Cells(i, 5) = "'" & apres(lig, col)

.Cells(i, 6) = Environ("username")

End With

End With

End If

Next

Next

fin:

Application.EnableEvents = True

If Err Then MsgBox "Erreur #" & Err.Number & " !"

End Sub

Bonjour,

je n'ai pas d'erreur avec ce code. ce doit être lié à ton classeur (sécurité, feuille inexistante, table inexistante ,....)

quel message d'erreur reçois-tu ?

Re-Bonjour,

j'ai pas de message d'erreur, mon code il marche une fois sur deux et je sais pas pourquoi.

Re-bonjour,

Je ne constate pas ce comportement. Que faut-il faire pour reproduire ton problème ?

Tu peux voir le fichier que je travaille au dessus stv

et merci d'avance

8tbd-3.xlsm (151.42 Ko)

rebonjour,

désolé cela ne m'aide pas à comprendre comment reproduire le problème. ton journal est bien mis-à-jour, mais il des milliers de lignes vides dans ton tableau et les lignes sont ajoutées à la fin du tableau. Il faut donc aller à la fin du tableau pour voir que cela a été enregistré.

même si j'ai crée une autre feuille journal avec une autre table, ça ne marche pas.

merci de toute façon.

Rechercher des sujets similaires à "suivi modifications feuilles"