Macro pour enregistrements des mises à jour du fichier

Sliverystic

XLDnaute Nouveau
Bonjour à tous,

Je vous remercie de me lire pour m'aider à régler mon problème.
Cette demande a pour but un usage professionnel

J'aimerais créer un fichier général excel avec suivi des mises à jour.
Je vais essayer de m'expliquer plus amplement :

J'aimerais qu'excel :
1- puisse repéré que le fichier a été modifié, et le cas échéant, nous demande de remplir quelques informations lors de la fermeture du fichier. (ou abandonne si on ne veut pas sauvegarder le fichier)

2- qu'excel demande les informations des colonnes de son onglet mise à jour (date/qui/quoi) de manière automatique (et 1 par 1 si possible, avec date auto?) et les enregistre ligne par ligne tout seul dans cet onglet.

J'espère avoir été assez clair.
Je vous remercie d'avance pour votre aide
Je joins un fichier simple avec cet onglet mise à jour

Cordialement,
 

Pièces jointes

  • Exemple.xls
    22 KB · Affichages: 71
  • Exemple.xls
    22 KB · Affichages: 71
  • Exemple.xls
    22 KB · Affichages: 74

GBI

XLDnaute Occasionnel
Re : Macro pour enregistrements des mises à jour du fichier

Bonjour Sliverystic,
Ci-après le code que j'intègre dans mes fichiers excel dont je dois suivre l'utilisation. Il ne te permet pas de suivre les modifications mais les ouvertures et les enregistre dans un fichier .txt

Code:
Sub EcritInfos(data)
Open "V:\Dept FCG\05 bis - Reporting 2010\xlslog.txt" For Append As #1
Print #1, Format(Date, "dd/mm/yy") & ";" & Format(Time, "hh:nn:ss") & ";" & data & ";" & ThisWorkbook.Name & ";" & Application.UserName
Close #1
End Sub
Private Sub workbook_open()
EcritInfos ("Ouvre")
End Sub
Private Sub workbook_beforeclose(cancel As Boolean)
EcritInfos ("Ferme")
End Sub

un autre qui enregistre à chaque sauvegarde et que j'ai trouvé sur ce forum (a mettre dans "thisworkbook":
Code:
Sub auto_open()
  Sheets("espion").[A65000].End(xlUp).Offset(1, 0) = Now
End Sub

Sub auto_close()
  Sheets("logs").[A65000].End(xlUp).Offset(0, 1) = Now
  Sheets("logs").[A65000].End(xlUp).Offset(0, 2) = Environ("username")
  Sheets("logs").[A65000].End(xlUp).Offset(0, 3) = Environ("computername")
  Sheets("logs").Visible = xlVeryHidden
End Sub

Sub affiche_espion()
  mp = InputBox("Mot de passe?")
  If mp = "blabla" Then
    Sheets("logs").Visible = True
    Sheets("logs").Activate
  End If
End Sub

Sinon tu fais une rapide recherche et tu trouveras ton bonheur cette question est assez fréquente :)
 

pierrejean

XLDnaute Barbatruc
Re : Macro pour enregistrements des mises à jour du fichier

Bonjour Sliverystic

Un essai

Edit: salut GBI
 

Pièces jointes

  • Sliverystic_Exemple.zip
    10.5 KB · Affichages: 44
  • Sliverystic_Exemple.zip
    10.5 KB · Affichages: 37
  • Sliverystic_Exemple.zip
    10.5 KB · Affichages: 35

Sliverystic

XLDnaute Nouveau
Re : Macro pour enregistrements des mises à jour du fichier

Merci à vous,

GBI, le premier code ne m'intéresse pas car ce n'est pas ce que je recherche (mais merci tout de même de me l'avoir proposé, je le garde en tête pour d'autres utilisations)
je ne comprends pas ce que fais le 2eme code, où enregistre-t-il les données ?

pierrejean, merci pour ce fichier, il est efficace mais serait-il possible de grouper toutes les modifications pour une même journée et par une même personne dans les "quoi" ? (plusieurs modifs le meme jour par 1 personne = 1 ligne avec plusieurs "quoi"). Ce serait super !
 

GBI

XLDnaute Occasionnel
Re : Macro pour enregistrements des mises à jour du fichier

Merci à vous,

GBI, le premier code ne m'intéresse pas car ce n'est pas ce que je recherche (mais merci tout de même de me l'avoir proposé, je le garde en tête pour d'autres utilisations)
je ne comprends pas ce que fais le 2eme code, où enregistre-t-il les données ?

pierrejean, merci pour ce fichier, il est efficace mais serait-il possible de grouper toutes les modifications pour une même journée et par une même personne dans les "quoi" ? (plusieurs modifs le meme jour par 1 personne = 1 ligne avec plusieurs "quoi"). Ce serait super !

Bonjour PierreJean

Sliver:
Il enregistre les données dans l'onglet "logs" que tu peux afficher à l'aide du dernier sub (qui est validé par un mdp). La sécurité est facilement contournable mais écarte un certains nombre de petits curieux
Cdt
 

Sliverystic

XLDnaute Nouveau
Re : Macro pour enregistrements des mises à jour du fichier

Merci encore une fois pour votre aide.

GBI, je n'arrive pas à trouver la commande initiale pour entrer le mdp et ainsi afficher cet onglet ... (dsl -_-')

pierrejean, c'est vraiment très sympa, c'est ce que j'avais en tête au début. Est-il juste possible de rajouter une fenetre type pop-up pour justifier les modifications si l'utilisateur le souhaite ? (et ainsi enregistrer le justificatif dans une nouvelle colonne)

EDIT : J'ai essayé de protéger la feuille (pour ne pas pouvoir effacer les données), et de ce fait, la macro bug ; est-il possible de faire les 2 ?
merci d'avance
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 232
Messages
2 086 461
Membres
103 219
dernier inscrit
Akyrah