Microsoft 365 Historique des modifications

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

de_hanstrapp

XLDnaute Occasionnel
Bonjour le forum,

J'ai crée dans un classeur une feuille (AA_Historique) qui permet d'obtenir un historique des modifications.
Avec le code ci-après je récupère un certin nombre d'informations. Ma question est comment je peux intégrer en colonne 6 la valeur de la cellule avant la modification.

Merci pour votre aide.

VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
If Sh.Name = AA_Historique.Name Or Sh.Name = "AA_Donnees" Then Exit Sub
With AA_Historique
    .Unprotect Password:=Wbk_Protect
    With .Range("A65536").End(xlUp)
        .Offset(1, 0).Value = Now()
        .Offset(1, 1).Value = Environ("computername")
        .Offset(1, 2).Value = Environ("username")
        .Offset(1, 3).Value = Sh.Name
        .Offset(1, 4).Value = Target.Address
[COLOR=rgb(184, 49, 47)]        .Offset(1, 5).Value = ???[/COLOR]
        .Offset(1, 6).Value = Target.Value
    End With
    .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=Wbk_Protect
End With
On Error GoTo 0
End Sub
 
Bonjour,
Une idée possible, dans la feuille, rajoutez :
Code:
Public ValeurAuClic, AdresseAuClic
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    ValeurAuClic = Target
    AdresseAuClic = Target.Address
    ' Pour test
    Application.StatusBar = AdresseAuClic & " - " & ValeurAuClic
End Sub
Les variables AdresseAuClic et ValeurAuClic contiendront l'adresse et la donnée présentent dans la dernière cellule cliquée, donc avant sa modification.
Le Statusbar ( pour test ) recopie ces 2 variables bans la barre de status, à supprimer évidemment.
 
Bonjour,
Une idée possible, dans la feuille, rajoutez :
Code:
Public ValeurAuClic, AdresseAuClic
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    ValeurAuClic = Target
    AdresseAuClic = Target.Address
    ' Pour test
    Application.StatusBar = AdresseAuClic & " - " & ValeurAuClic
End Sub
Les variables AdresseAuClic et ValeurAuClic contiendront l'adresse et la donnée présentent dans la dernière cellule cliquée, donc avant sa modification.
Le Statusbar ( pour test ) recopie ces 2 variables bans la barre de status, à supprimer évidemment.

Bonjour Sylvanu,
Merci pour votre réponse mais je vous avoue que je ne comprends pas la manipulation que je dois effectuer...
 
Bonjour le fil


Puisque le préfixe de la discussion indique Office 365, pourtant ne pas en profier ?
Voir particulièrement ce chapitre
Regarde la pièce jointe 1180082
Bonjour Staple1600,
Personnellement j'utilise office 365 mais ce n'est pas le cas de toutes les personnes qui utilisent le fichier d'où ma volonté de créer un historique.
 
Bonjour le fil

Si le classeur ne contient pas de macros, l'ancienne option Revision permet justement d'indiquer le nombre de jours
  1. Sous Suivi des modifications, cliquez sur Survenues au cours des et dans la zone jours, tapez le nombre de jours d’historique des modifications que vous souhaitez conserver. Par défaut, Excel conserve l’historique des modifications pendant 30 jours et efface de façon permanente tout historique des modifications antérieur à ce nombre de jours. Pour conserver un historique pendant plus de 30 jours, entrez un nombre supérieur à 30.
En théorie doit fonctionner sur toutes versions d'Excel

Pour plus de détails
 
Bonjour de_hanstrapp, Staple,
Si vous le voulez en VBA, voir PJ avec :
VB:
Sub Nettoyage() ' Supprime toute ligne antérieur à 15 jours.
Application.ScreenUpdating = False
With Sheets("JOURNAL")
    For L = .Cells(.Cells.Rows.Count, "B").End(xlUp).Row To 3 Step -1
        If Date - .Cells(L, "B") > 15 Then Rows(L).Delete Shift:=xlUp
    Next L
End With
End Sub
Un bouton de test dans la feuille Journal.
Vous pouvez l'appelez en fin de Workbook_SheetChange.
Il y a surement plus rapide, mais le nombre de lignes à nettoyer restera faible.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
79
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
250
Réponses
2
Affichages
405
Réponses
3
Affichages
599
Réponses
4
Affichages
362
Retour