Dernière modification d'un fichier Excel

Résolu/Fermé
Ghissa Messages postés 46 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 8 octobre 2013 - 16 juin 2009 à 10:16
michel_m Messages postés 16589 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 12 janvier 2023 - 16 juin 2009 à 17:06
Bonjour,

Je suis encore débutant sur Excel et VB.
Je voudrais créer une macro (si c'est possible bien sur) qui me permettrais de connaitre la dernière personne à avoir modifié le classeur Excel. Je connais la fonction DateLastModified qui permet de trouver la date de modification, mais pas la personne.
Si vous avez des idées, n'hésitez pas.

Je vous remercie.
A voir également:

5 réponses

michel_m Messages postés 16589 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 12 janvier 2023 3 289
16 juin 2009 à 11:27
bonjour
avec BuiltinDocumentProperties
essaies la propriété Last Author
1
michel_m Messages postés 16589 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 12 janvier 2023 3 289
16 juin 2009 à 15:25
re,

avecl'objet filesystemobject, je n'ai jamais trouvé le nom du dernier utilisateur qui sauvegardé le fichier (bizarre mais j'ai dû mal chercher)...

par contre tu as cette donnée avec le classeur actif en utilisant la propriété builtindocumentpropertie
par exemple

Sub quiamodifié()
'ouverture du fichier concerné
Workbooks.Open Filename:="d:\documents\home.xls" ' à adapter
 With ActiveWorkbook
 MsgBox "auteur: " & .BuiltinDocumentProperties("Author") & vbLf & _
                "le: " & .BuiltinDocumentProperties("creation date") & vbLf & _
                "dernier enregistrement le " & .BuiltinDocumentProperties("last save time") & vbLf & _
                " par: " & .BuiltinDocumentProperties("last author")
 End With

End Sub

1
Ghissa Messages postés 46 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 8 octobre 2013 1
16 juin 2009 à 14:03
Je ne sais pas comment ça marche, il n'y a pas d'exemple sur l'aide.
j'ai essayé avec ActiveWorkBook.Author mais ça donne le premier auteur c'est tout.

j'ai un autre problème c'est que j'ai toujours DateLastAcced = DateLastModified, est-ce normal?

voilà le bout de code en VB :

Sub macro()


ff = ActiveWorkbook.FullName

Dim fs, f, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile("R:\YOUNES\classeur2.xls")
' s = UCase(specfichier) & vbCrLf
' s = s & "Créé le : " & f.DateCreated & vbCrLf
s = s & "Dernier accès le : " & f.DateLastAccessed & vbCrLf
s = s & "Dernière modification le : " & f.DateLastModified & " par " & ActiveWorkBook.Author
MsgBox s, 0, "Infos d'accès au fichier"

End Sub

Le but étant qu'en ouvrant le fichier, on affiche la date du dernier accès et date de la dernière modification et par qui elle était faite.
0
Ghissa Messages postés 46 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 8 octobre 2013 1
16 juin 2009 à 16:07
Bonjour,

Oui effectivement j'ai essayé et ça donne la date du dernier enregistrement et par qui ça était fait. Je vous remercie.

N'empêche que je ne sais toujours pas pourquoi la fonction LastDateModified ne me donne pas le bon résultat.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16589 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 12 janvier 2023 3 289
16 juin 2009 à 17:06
parce que l'objet filesystemobject fait une différence entre la date de dernière sauvegarde(...last modif...) et la date de dernière "visite" (...lastacces...) sans enregistrement
avec la propriété builtin..... cette propriété de dernière visite n'existe pas.

dernier petit point: datelastmodified est une propriété, pas une fonction
0