OVH Cloud OVH Cloud

Durée d'édition

15 réponses
Avatar
ADB
Bonjour
J'aimerai savoir comment je peux conna=EEtre la dur=E9e d'=E9dition d'un =

fichier Excel.
J'ai essay=E9 des formules du genre

Private Sub Workbook_Open()
Dim EdTime As String

EdTime =3D ThisWorkbook.BuiltinDocumentProperties(13).Value

MsgBox "Bonjour. Dur=E9e d'=E9dition : " & EdTime, vbInformation, "Bienve=
nue"
End Sub

mais =E7a plante

Quelqu'un peut-il m'aider ?
Merci d'avance
ADB


--=20
Guide M=E9diterran=E9e :
http://guidemediterranee.free.fr ou http://guidemediterranee.info

Guide Manche:
http://guidemanche.free.fr ou http://guidemanche.info

Guide Atlantique:
http://guideatlantique.free.fr ou http://guideatlantique.info

5 réponses

1 2
Avatar
ADB
J'ai essayé ta formule, mais Excel m'annonce des erreurs du genre
HeureDebut variable non définie.
Comme je ne suis pas assez calé àpour comprendre pourquoi, jefais app el
à ta science -))
Merci
ADB

Salut ADB,

La durée totale d'ouverture comme d'autres propriétés (Révision n° et
imprimé), ne se met pas à jour de façon automatique, il faut pass er par
du VBA :

' ******************************
Option Explicit
Public HeureOuverture As Date


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Dim durée As Date
durée = ThisWorkbook.BuiltinDocumentProperties(13).Value + (Now -
HeureDebut) * 1440
Debug.Print durée
ThisWorkbook.BuiltinDocumentProperties(13).Value = durée
HeureDebut = Now
End Sub

Private Sub Workbook_Open()
Dim EdTime As String
HeureDebut = Now
EdTime = ThisWorkbook.BuiltinDocumentProperties(13).Value
MsgBox "Bonjour. Durée d'édition : " & EdTime, vbInformation,
"Bienvenue"
End Sub
' ******************************

Cependant, je te conseille de stocker l'heure d'ouverture dans une
variable plus fiable (Champ nommé, cellule) surtout quand tu utilises
VBE, car elle risque de se réinitialiser.
D'autre part, je considère que si tu fermes le classeur sans le
sauvegarder, il n'y a pas lieu de cumuler le nombre de minutes entre la
dernière sauvegarde et la fermeture... Par contre, il y a des solutio ns
pour cela, donc si tu as besoin de ça, reviens par ici.

A+
Benead
XL97

ADB a écrit:

Bonjour
J'aimerai savoir comment je peux connaître la durée d'édition d' un
fichier Excel.
J'ai essayé des formules du genre

Private Sub Workbook_Open()
Dim EdTime As String

EdTime = ThisWorkbook.BuiltinDocumentProperties(13).Value

MsgBox "Bonjour. Durée d'édition : " & EdTime, vbInformation, "Bie nvenue"
End Sub

mais ça plante

Quelqu'un peut-il m'aider ?
Merci d'avance
ADB






--
Guide Méditerranée :
http://guidemediterranee.free.fr ou http://guidemediterranee.info

Guide Manche:
http://guidemanche.free.fr ou http://guidemanche.info

Guide Atlantique:
http://guideatlantique.free.fr ou http://guideatlantique.info


Avatar
ADB
Pardon, pas assez calé mais observateur !! -)))
HeureOuverture est défini mais pas HeureDebut, alors que je suppose que
HeureOuverture et HeureDebut sont identiques.
Sinon, j'obtiens de toute façon une erreur à la ligne
EdTime = ThisWorkbook.BuiltinDocumentProperties(13).Value
Je crois effectivement que Excel ne connaît pas Total Editing Time (cf
http://support.microsoft.com/kb/q214393/)
Merci quand même
ADB

Salut ADB,

La durée totale d'ouverture comme d'autres propriétés (Révision n° et
imprimé), ne se met pas à jour de façon automatique, il faut pass er par
du VBA :

' ******************************
Option Explicit
Public HeureOuverture As Date


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Dim durée As Date
durée = ThisWorkbook.BuiltinDocumentProperties(13).Value + (Now -
HeureDebut) * 1440
Debug.Print durée
ThisWorkbook.BuiltinDocumentProperties(13).Value = durée
HeureDebut = Now
End Sub

Private Sub Workbook_Open()
Dim EdTime As String
HeureDebut = Now
EdTime = ThisWorkbook.BuiltinDocumentProperties(13).Value
MsgBox "Bonjour. Durée d'édition : " & EdTime, vbInformation,
"Bienvenue"
End Sub
' ******************************

Cependant, je te conseille de stocker l'heure d'ouverture dans une
variable plus fiable (Champ nommé, cellule) surtout quand tu utilises
VBE, car elle risque de se réinitialiser.
D'autre part, je considère que si tu fermes le classeur sans le
sauvegarder, il n'y a pas lieu de cumuler le nombre de minutes entre la
dernière sauvegarde et la fermeture... Par contre, il y a des solutio ns
pour cela, donc si tu as besoin de ça, reviens par ici.

A+
Benead
XL97

ADB a écrit:

Bonjour
J'aimerai savoir comment je peux connaître la durée d'édition d' un
fichier Excel.
J'ai essayé des formules du genre

Private Sub Workbook_Open()
Dim EdTime As String

EdTime = ThisWorkbook.BuiltinDocumentProperties(13).Value

MsgBox "Bonjour. Durée d'édition : " & EdTime, vbInformation, "Bie nvenue"
End Sub

mais ça plante

Quelqu'un peut-il m'aider ?
Merci d'avance
ADB






--
Guide Méditerranée :
http://guidemediterranee.free.fr ou http://guidemediterranee.info

Guide Manche:
http://guidemanche.free.fr ou http://guidemanche.info

Guide Atlantique:
http://guideatlantique.free.fr ou http://guideatlantique.info


Avatar
Michel Pierron
Bonjour ADB;
La propriété "Total editing time" n'est pas assignée dans Excel; tu peux
tester avec:

On Error Resume Next
MsgBox ThisWorkbook.BuiltinDocumentProperties(13)
If Err Then MsgBox "Total Editing Time property not assigned."

Cependant, rien ne t'empêche d'utiliser une propriété personnalisée:
Dans le module ThisWorkbook:
Option Explicit
Private d As Date

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error GoTo Fin
Dim Tps As Date
With ThisWorkbook
Tps = .CustomDocumentProperties("Editing Time") + Now - d
.CustomDocumentProperties("Editing Time") = Tps
MsgBox Format(Tps, "hh:mm:ss"), 64
End With
Fin:
End Sub

Private Sub Workbook_Open()
On Error Resume Next
With ThisWorkbook
d = .CustomDocumentProperties("Editing Time").Value
If Err Then .CustomDocumentProperties.Add Name:="Editing Time" _
, LinkToContent:úlse, Type:=3, Value:=0
MsgBox Format(d, "hh:mm:ss")
End With
d = Now
End Sub

MP

"ADB" a écrit dans le message de
news:41bad839$0$19484$
Bonjour
J'aimerai savoir comment je peux connaître la durée d'édition d'un
fichier Excel.
J'ai essayé des formules du genre

Private Sub Workbook_Open()
Dim EdTime As String

EdTime = ThisWorkbook.BuiltinDocumentProperties(13).Value

MsgBox "Bonjour. Durée d'édition : " & EdTime, vbInformation, "Bienvenue"
End Sub

mais ça plante

Quelqu'un peut-il m'aider ?
Merci d'avance
ADB


--
Guide Méditerranée :
http://guidemediterranee.free.fr ou http://guidemediterranee.info

Guide Manche:
http://guidemanche.free.fr ou http://guidemanche.info

Guide Atlantique:
http://guideatlantique.free.fr ou http://guideatlantique.info
Avatar
Benead
Bonsoir ADB,

Effectivement, au départ je pensais récupérer l'heure initiale a l'ouverture du document et mettra la propriété à jour
au moment de la fermeture, mais la logique veut qu'il faut mettre cette propriété à jour au moment de la sauvegarde.
Donc il faut remplacer HeureOuverture par HeureDebut.

Concernant ton msg d'erreur, avant de tester ton code il faut initialiser ta propriété à zéro :*

Sub init13()
ThisWorkbook.BuiltinDocumentProperties(13).Value = 0
End Sub

Ou alors ignorer l'erreur de cette façon :

On Error Resume Next
EdTime = ThisWorkbook.BuiltinDocumentProperties(13).Value
On Error GoTo 0

Dès que tu auras fait la première sauvegarde, cela fonctionnera sans message d'erreur.
Chez moi cela fonctionne avec XL97 alors pourquoi pas chez toi...

A+
Benead

ADB a écrit:
Pardon, pas assez calé mais observateur !! -)))
HeureOuverture est défini mais pas HeureDebut, alors que je suppose que
HeureOuverture et HeureDebut sont identiques.
Sinon, j'obtiens de toute façon une erreur à la ligne
EdTime = ThisWorkbook.BuiltinDocumentProperties(13).Value
Je crois effectivement que Excel ne connaît pas Total Editing Time (cf
http://support.microsoft.com/kb/q214393/)
Merci quand même
ADB


Salut ADB,

La durée totale d'ouverture comme d'autres propriétés (Révision n° et
imprimé), ne se met pas à jour de façon automatique, il faut passer
par du VBA :

' ******************************
Option Explicit
Public HeureOuverture As Date


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Dim durée As Date
durée = ThisWorkbook.BuiltinDocumentProperties(13).Value + (Now -
HeureDebut) * 1440
Debug.Print durée
ThisWorkbook.BuiltinDocumentProperties(13).Value = durée
HeureDebut = Now
End Sub

Private Sub Workbook_Open()
Dim EdTime As String
HeureDebut = Now
EdTime = ThisWorkbook.BuiltinDocumentProperties(13).Value
MsgBox "Bonjour. Durée d'édition : " & EdTime, vbInformation,
"Bienvenue"
End Sub
' ******************************

Cependant, je te conseille de stocker l'heure d'ouverture dans une
variable plus fiable (Champ nommé, cellule) surtout quand tu utilises
VBE, car elle risque de se réinitialiser.
D'autre part, je considère que si tu fermes le classeur sans le
sauvegarder, il n'y a pas lieu de cumuler le nombre de minutes entre
la dernière sauvegarde et la fermeture... Par contre, il y a des
solutions pour cela, donc si tu as besoin de ça, reviens par ici.

A+
Benead
XL97

ADB a écrit:

Bonjour
J'aimerai savoir comment je peux connaître la durée d'édition d'un
fichier Excel.
J'ai essayé des formules du genre

Private Sub Workbook_Open()
Dim EdTime As String

EdTime = ThisWorkbook.BuiltinDocumentProperties(13).Value

MsgBox "Bonjour. Durée d'édition : " & EdTime, vbInformation,
"Bienvenue"
End Sub

mais ça plante

Quelqu'un peut-il m'aider ?
Merci d'avance
ADB










Avatar
ADB
Magnifique, ça fonctionne.
Merci à tous ceux qui se sont penchés sur le pb.
A bientôt
ADB

Bonjour ADB;
La propriété "Total editing time" n'est pas assignée dans Excel; tu peux
tester avec:

On Error Resume Next
MsgBox ThisWorkbook.BuiltinDocumentProperties(13)
If Err Then MsgBox "Total Editing Time property not assigned."

Cependant, rien ne t'empêche d'utiliser une propriété personnalis ée:
Dans le module ThisWorkbook:
Option Explicit
Private d As Date

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error GoTo Fin
Dim Tps As Date
With ThisWorkbook
Tps = .CustomDocumentProperties("Editing Time") + Now - d
.CustomDocumentProperties("Editing Time") = Tps
MsgBox Format(Tps, "hh:mm:ss"), 64
End With
Fin:
End Sub

Private Sub Workbook_Open()
On Error Resume Next
With ThisWorkbook
d = .CustomDocumentProperties("Editing Time").Value
If Err Then .CustomDocumentProperties.Add Name:="Editing Time" _
, LinkToContent:úlse, Type:=3, Value:=0
MsgBox Format(d, "hh:mm:ss")
End With
d = Now
End Sub

MP

"ADB" a écrit dans le message de
news:41bad839$0$19484$
Bonjour
J'aimerai savoir comment je peux connaître la durée d'édition d'u n
fichier Excel.
J'ai essayé des formules du genre

Private Sub Workbook_Open()
Dim EdTime As String

EdTime = ThisWorkbook.BuiltinDocumentProperties(13).Value

MsgBox "Bonjour. Durée d'édition : " & EdTime, vbInformation, "Bien venue"
End Sub

mais ça plante

Quelqu'un peut-il m'aider ?
Merci d'avance
ADB




--
Guide Méditerranée :
http://guidemediterranee.free.fr ou http://guidemediterranee.info

Guide Manche:
http://guidemanche.free.fr ou http://guidemanche.info

Guide Atlantique:
http://guideatlantique.free.fr ou http://guideatlantique.info

1 2