EXCEL, dernière modification (date+utilisateu

Fermé
Bob l'éponge - 8 nov. 2010 à 14:08
 Bob l'éponge - 10 nov. 2010 à 08:56
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

A voir également:

2 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
8 nov. 2010 à 19:03
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
Bob l'éponge
9 nov. 2010 à 10:41
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
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
9 nov. 2010 à 12:46
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
Bob l'éponge
9 nov. 2010 à 14:46
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
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
Modifié par gbinforme le 9/11/2010 à 22:05
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
Bob l'éponge
10 nov. 2010 à 08:56
Ok merci, cela fonctionne, bien a priori.
0