EXCEL, dernière modification (date+utilisateu

Bob l'éponge -  
 Bob l'éponge -
Bonjour,

Voila j'ai un petit problème qui est résolu en parti grâce au forum, mais pas en globalité ou alors je ne trouve pas la solution.

J'ai un document excel qui est en partage sur le serveur commun de ma boîte. Je voudrais insérer dans une cellule la date et l'heure de la dernière modification. Pour cela je n'ai pas de souci, j'ai rentré la macro suivante :

Dim modif As Boolean

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

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

Ensuite l'idée est de pouvoir dans un premier temps ajouter le nom de l'utilisateur à côté si cela est possible.
Dans un deuxième temps j'aimerai avoir la date et l'heure de modification par feuille et non pour la globalité du document.

Merci à tous de votre aide

2 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour

    Pour faire tout en un tu peux remplacer ta seconde fonction par ceci et oublier l'autre.

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Sh.Range("A1").Value = "Dernière Révision le " & Format(Date, "dd/mm/yyyy") _
    & " par " & Application.UserName
    End Sub
    
    0
  2. Bob l'éponge
     
    Bonjour,

    Merci pour votre aide, mais cette deuxième fonction ne semble pas fonctionner dans Excel 2010.

    Lorsque j'effectue des modifications, il me rentre bien dans la première cellule (A1), la date et l'utilisateur, mais un message d'erreur apparaît immédiatement qui m'oblige à fermer excel. Cela peut-il provenir de la version de Excel ?
    0
    1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Bonjour,

      Effectivement je n'ai pas tenu compte de la récursivité : essayes ainsi cela ne devrait plus bloquer.

      Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
      Application.EnableEvents = False
      Sh.Range("A1").Value = "Dernière Révision le " & Format(Date, "dd/mm/yyyy") _
      & " par " & Application.UserName
      Application.EnableEvents = True
      End Sub
      
      0
    2. Bob l'éponge
       
      Merci pour ton aide, si je veux rajouter l'information heure, dois-je rajouter ceci dans la première partie de la fonction ou tout simplement comme ceci :

      Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
      Application.EnableEvents = False
      Sh.Range("A1").Value = "Dernière Révision le " & Format(Date, "dd/mm/yyyy") _
      & " par " & Application.UserName & " à " & Format(Time, " hh/mm")
      Application.EnableEvents = True
      End Sub
      0
    3. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Bonsoir,

      Si tu testes ce que tu as écris, tu dois voir que cela fonctionne correctement ?

      N'oublies pas qu'excel te permet de suivre les modifications de chacun lorsque le fichier est partagé.
      0
    4. Bob l'éponge
       
      Ok merci, cela fonctionne, bien a priori.
      0