Est ce qu’il est possible d’avoir un moyen de pouvoir recenser toutes les modifications au nom de l’utilisateur,action faite, date et heure qui ont été effectuées sur un fichier Excel ?
J’ai pu trouver qu’il était possible de pouvoir le faire en activant l’option suivre les modifications.
Mais sous forme de commantaire c’est pas l’ideal
est-ce qu’il serait possible de pouvoir le recenser a chaque sauvergade dans un onglet par vba ?
Quand pensez vous ? pas trop lourd comme mise en place ?
On a un petit malin qui s’amuse à mettre à mal les fichiers, et je voudrais le choper.
Mais je n’y parviens pas même avec l’historique des sauvegardes, avec un historique précit a chaque sauverge cela m’aiderai beaucoup
Merci a tous pour vos retours
Johnny
il prend pas l’enregistrement automatique si c activé
Ce type de projet m’intéresse !
Vous travaillez à plusieurs sur un fichier en ligne ou le fichier doit être transmise d’un poste à un autre ?
Will-Fread
Maintenant on peut facilement travailler à plusieurs sur un fichier si on est dans une même organisation.
Essayer de créer un fichier et partager a vos collèges.
oui j’ai regardé cette solution et sur 365 ils ont changé , t’es obligé d’aller le chercher maintenant dans les options de ruban , toutes les commandes et elles cherchaient, le suivi pour l’activer.
Mais il s’effectue sous une forme d’une note ou d’un commentaire dans une cellule et empêche l’enregistrement automatique
Oui j’ai configuré notre environnement informatique que même si tu l’ouvres dans team sur le navigateur il s’ouvrira dans l’application c’est pas un souci
Pensez-vous qu’il serait possible d’écrire un code avec un onglet bien spécifique pour recenser toutes ces manipulations à chaque enregistrement ?
J’ai essayé de regarder plus en profondeur Mimi mais au vu de l’utilisation le nombre de notes créées et même si je coche la case affichée dans un onglet c’est pas très viable et surtout plus possible de l’utilise en enregistrement auto.
Pensez-vous que si nous structurons :
On détermine à chaque onglet la plage de cellules à contrôler.
À chaque fois que l’enregistrement automatique est fait que ça puisse lancer la macro.
Et qu’on puisse avoir une fenêtre veuillez patienter le temps que la macro s’effectue pour éviter à tout autre utilisateur d’utiliser en même temps un autre code
Et pour éviter d’alourdir le fichier je crée un fichier archive ou une macro ouvre ce fichier et retransmet toutes les informations du jour dans celui-ci et vide la source.
En plus de vouloir choper le petit malin, je pense que ça serait un système intéressant en cas de plantage de pouvoir remonter sur les dernières utilisations et les derniers changements pour peut-être cibler plus rapidement.
Re,
Les fichiers partagés c’est pas mon fort, vu que je suis à la retraite et que je suis en PC unique
Mais, les utilisateurs ont possibilité de modifier, ou alors une fois les données rentrées, la modification ne doit pas être faite?
Si les modifications peuvent être effectuées mais j’aurais besoin de savoir « qui » effectue une modification a « quelles » moment et « quoi comme motif ».
Le système par défaut de Excel aurait été top si je pouvais employer l’enregistrement automatique.
Malheureusement je n’ai pas la possibilité de retirer cet enregistrement automatique car sur certains fichiers on est entre 6 et 7 simultanément et le onedrive s’occupe du reste.
Re,
A tout hazard, cette macro dans le Thisworkbook qui t’affiche un message (pour le test, après à placer le résultat dans une feuille masquée et protégée
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim xrng As Range
Set xrng = Range("A1:J21")
If Not Application.Intersect(xrng, Range(Target.Address)) _
Is Nothing Then
MsgBox Environ("Username") & " - " & Now & " - Onglet: " & ActiveSheet.Name & " Cellule: " & Target.Address & " has changed.", vbInformation, "Voir les modifs"
End If
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim xrng As Range
Dim dl%
Application.EnableEvents = False
dl = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1
Set xrng = Range("A1:AA1000")
If Not Application.Intersect(xrng, Range(Target.Address)) Is Nothing Then
Sheets("Feuil1").Cells(dl, 1) = Environ("Username") & " - " & Now & " - Onglet: " & ActiveSheet.Name & " Cellule: " & Target.Address '& " has changed.", vbInformation, "Voir les modifs"
End If
Application.EnableEvents = True
End Sub