VBA sur la date derniere modification

Résolu
Bonjour,

Tout d'abord, je tiens à préciser que je ne maîtrise pas parfaitement le langage VBA et les macros.

Voici mon soucis

J'ai un tableau de plusieurs pages ou je dois tracer qui à modifier et quand, sur la formule que j'utilises, il n'est mentionné que la dernière modification, et il manque l'info de l'utilisateur

Pouvez-vous m'aider ?

Dim modif As Boolean

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If modif = True Then
Sheets("historiques").Range("A1").Value = "Dernière Révision le " & Format(Date, "dd/mm/yyyy") & Format(Time, " hh:mm")
End If
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
modif = True
End Sub

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour

    Peut être ceci
    Dim u As String
    u = ActiveWorkbook.BuiltinDocumentProperties("Last Author").Value

    voir ici

    Cdlmnt
    1. Bonjour dingding,

      Pour l'auteur, essaye : MsgBox ActiveWorkbook.Author

      Pour les dates, si FName (Object) est ton fichier, tu as :

      a) date de création : FName.DateCreated
      b) date de dernière modification : FName.DateLastModified
      c) date de dernier accès : FName.DateLastAccessed

      Cordialement.  😊
       
      1. Contributeur
        bonjour tt le monde

        un exemple à adapter (caftage sur 1 colonne) se déclenche avec l'appui sur "entrée" dans la plage utile

        cafte l'adresse de la modif, la date et l'heure,l'ancienne valeur et la nouvelle, qui en est l'auteur
        attention si le classeur se trouve sur le serveur accessible à plusieurs personnes, il faudra peut-être modifier la recherche du nom... (je ne suis plus sur serveur et donc je ne peux vérifier
        http://www.cjoint.com/c/FJgoBnPf1Xm
        on peut aussi envoyer les résultats dans un fichier texte si ca t'intéresse
        1. J'ai testé avec cette macro mais cela ne fait malheureusement rien

          et oui le classeur est accessible sur un serveur.

          Un tout grand merci
        2. @dingdingBonjour dingding,
          As-tu lu mon message #2 ? Ça peut t'être utile pour le nom de l'auteur
          et pour différentes dates fiichier. À part ça, pour ton problème, je te
          laisse continuer avec michel_m (que je salue). Cordialement.  😊
        3. @Utilisateur anonymeHello,
          oui j'ai bien lu ton message, pour les dates c'est bon, mais si une autre personne que moi fait une modif, un bug apparaît
        4. @dingding 
          Si une autre personne que toi fait une modif, un bug apparaît pour une date,
          telle que .DateLastModified ou .DateLastAccessed ? ou pour .Author ?

          Si c'est pour l'auteur, as-tu essayé avec ce que t'a proposé ccm81 dans son
          message #1 ? Je le remets ici pour rappel, et pour mieux préciser de quoi
          je parle : ActiveWorkbook.BuiltinDocumentProperties("Last Author").Value

          À part ça, je n'ai pas d'autre idée car je ne connais pas le travail en réseau.
          Donc continue de surveiller les réponses qui vont te parvenir.  😊

          PS : Je salue aussi ccm81 ; et je pense que la réponse #7 de michel_m
          t'apportera sans doute la solution adéquate.
      2. Contributeur
        bonjour dingding

        comme tu es sur serveur, les 3 macros dans le classeur ci joint te donnent la date-heure d'ouverture et fermeture et le nom dans un fichier texte "spy.txt". elle doivent être installées dans le module "thisworkbook"
        pour le nom, étant en monoposte, je ne sais si le nom renvoyé est l'utilisateur ou l'auteur du classeur...

        le classeur
        http://www.cjoint.com/c/FJhjNqDbmIm

        pour ma proposition précédente, la macro devait ^tre copié dans le module feuille concernée

         Michel
        1. Trop cool ça marche super bien

          Merci beaucoup :-)