Bonjour Michel,
Si la procédure suivante est inscrite dans le module "ThisWorkbook" du
classeur dont on veut évaluer la date où a été la
dernière modification, cette dernière écrite de cette façon renvoie la
date et l'heure où le fichier du moment même où le
fichier s'ouvre.
Dans l'exemple suivante : laDate = " 28-08-2004 08:18:32 " ....Difficile
de penser que l'on puisse obtenir un jour un écart
de 28 jours.
With ThisWorkbook
LaDate= CreateObject("Scripting.FileSystemObject") _
.GetFile(.FullName).DateLastModified
End With
Cependant, une méthode similaire peut être utilisé sur un fichier qui
n'est pas déjà ouvert... et à titre d'exemple :
En supposant que le fichier testé n'est pas celui qui s'ouvre ....
'-------------------------------------------
Private Sub Workbook_Open()
Dim Fichier As String, ladate as variant
Fichier = "C:ExcelBernard.xls"
ladate = DateDerModification(Fichier)
If IsDate(ladate) Then
If Now - ladate >= 28 Then
Kill Fichier
End If
Else
MsgBox ladate
End If
End Sub
'-------------------------------------------
Fonction à mettre dans un module standard
'-----------------------------------
Function DateDerModification(Fichier As String) As Variant
Dim Fs As Object, F As Object
If Dir(Fichier) <> "" Then
Set Fs = CreateObject("Scripting.FileSystemObject")
Set F = Fs.getfile(Fichier)
DateDerModification = F.DateLastModified
Else
DateDerModification = "Fichier introuvable"
End If
Set Fs = Nothing: Set F = Nothing
End Function
'-----------------------------------
Salutations!
"Michel Pierron" a écrit dans le message de
news:uo%
Bonjour Claire;
Peut être ainsi:
Private Sub Workbook_Open()
With ThisWorkbook
If Now - CreateObject("Scripting.FileSystemObject") _
.GetFile(.FullName).DateLastModified >= 28 Then
.Save
.ChangeFileAccess Mode:=xlReadOnly
Kill .FullName
.Close False
End If
End With
End Sub
MP
"Claire" a écrit dans le message de
news:%Bonjour,
J'aimerais détruire un fichier excel lorsque sa date de modification est
antérieure à 28 jours.
Ce fichier devrait être détruit à l'ouverture d'Excel et une fois
détruit,
cette routine devrait s'effacer.
Est-ce possible ?
Merci beaucoup
Claire
Bonjour Michel,
Si la procédure suivante est inscrite dans le module "ThisWorkbook" du
classeur dont on veut évaluer la date où a été la
dernière modification, cette dernière écrite de cette façon renvoie la
date et l'heure où le fichier du moment même où le
fichier s'ouvre.
Dans l'exemple suivante : laDate = " 28-08-2004 08:18:32 " ....Difficile
de penser que l'on puisse obtenir un jour un écart
de 28 jours.
With ThisWorkbook
LaDate= CreateObject("Scripting.FileSystemObject") _
.GetFile(.FullName).DateLastModified
End With
Cependant, une méthode similaire peut être utilisé sur un fichier qui
n'est pas déjà ouvert... et à titre d'exemple :
En supposant que le fichier testé n'est pas celui qui s'ouvre ....
'-------------------------------------------
Private Sub Workbook_Open()
Dim Fichier As String, ladate as variant
Fichier = "C:ExcelBernard.xls"
ladate = DateDerModification(Fichier)
If IsDate(ladate) Then
If Now - ladate >= 28 Then
Kill Fichier
End If
Else
MsgBox ladate
End If
End Sub
'-------------------------------------------
Fonction à mettre dans un module standard
'-----------------------------------
Function DateDerModification(Fichier As String) As Variant
Dim Fs As Object, F As Object
If Dir(Fichier) <> "" Then
Set Fs = CreateObject("Scripting.FileSystemObject")
Set F = Fs.getfile(Fichier)
DateDerModification = F.DateLastModified
Else
DateDerModification = "Fichier introuvable"
End If
Set Fs = Nothing: Set F = Nothing
End Function
'-----------------------------------
Salutations!
"Michel Pierron" <michel.pierron@free.fr> a écrit dans le message de
news:uo%23CEpNjEHA.3016@tk2msftngp13.phx.gbl...
Bonjour Claire;
Peut être ainsi:
Private Sub Workbook_Open()
With ThisWorkbook
If Now - CreateObject("Scripting.FileSystemObject") _
.GetFile(.FullName).DateLastModified >= 28 Then
.Save
.ChangeFileAccess Mode:=xlReadOnly
Kill .FullName
.Close False
End If
End With
End Sub
MP
"Claire" <smdaoust@videotron.ca> a écrit dans le message de
news:%23DphncJjEHA.3172@TK2MSFTNGP10.phx.gbl...
Bonjour,
J'aimerais détruire un fichier excel lorsque sa date de modification est
antérieure à 28 jours.
Ce fichier devrait être détruit à l'ouverture d'Excel et une fois
détruit,
cette routine devrait s'effacer.
Est-ce possible ?
Merci beaucoup
Claire
Bonjour Michel,
Si la procédure suivante est inscrite dans le module "ThisWorkbook" du
classeur dont on veut évaluer la date où a été la
dernière modification, cette dernière écrite de cette façon renvoie la
date et l'heure où le fichier du moment même où le
fichier s'ouvre.
Dans l'exemple suivante : laDate = " 28-08-2004 08:18:32 " ....Difficile
de penser que l'on puisse obtenir un jour un écart
de 28 jours.
With ThisWorkbook
LaDate= CreateObject("Scripting.FileSystemObject") _
.GetFile(.FullName).DateLastModified
End With
Cependant, une méthode similaire peut être utilisé sur un fichier qui
n'est pas déjà ouvert... et à titre d'exemple :
En supposant que le fichier testé n'est pas celui qui s'ouvre ....
'-------------------------------------------
Private Sub Workbook_Open()
Dim Fichier As String, ladate as variant
Fichier = "C:ExcelBernard.xls"
ladate = DateDerModification(Fichier)
If IsDate(ladate) Then
If Now - ladate >= 28 Then
Kill Fichier
End If
Else
MsgBox ladate
End If
End Sub
'-------------------------------------------
Fonction à mettre dans un module standard
'-----------------------------------
Function DateDerModification(Fichier As String) As Variant
Dim Fs As Object, F As Object
If Dir(Fichier) <> "" Then
Set Fs = CreateObject("Scripting.FileSystemObject")
Set F = Fs.getfile(Fichier)
DateDerModification = F.DateLastModified
Else
DateDerModification = "Fichier introuvable"
End If
Set Fs = Nothing: Set F = Nothing
End Function
'-----------------------------------
Salutations!
"Michel Pierron" a écrit dans le message de
news:uo%
Bonjour Claire;
Peut être ainsi:
Private Sub Workbook_Open()
With ThisWorkbook
If Now - CreateObject("Scripting.FileSystemObject") _
.GetFile(.FullName).DateLastModified >= 28 Then
.Save
.ChangeFileAccess Mode:=xlReadOnly
Kill .FullName
.Close False
End If
End With
End Sub
MP
"Claire" a écrit dans le message de
news:%Bonjour,
J'aimerais détruire un fichier excel lorsque sa date de modification est
antérieure à 28 jours.
Ce fichier devrait être détruit à l'ouverture d'Excel et une fois
détruit,
cette routine devrait s'effacer.
Est-ce possible ?
Merci beaucoup
Claire
Bonsoir Claire,
Plus sérieusement, je ne crois pas que la chose soit possible pour
respecter tes exigences. Cependant, il est possible
d'écrire un VbScript actionné par le planificateur de tâche de Windows qui
effectuerait un "scanning" d'un répertoire donné
et ce quotidiennement (même plusieurs fois par jour) à la recherche de
fichiers "xls" ayant une caractéristique particulière
(comme un délai de 28 jours) et qui détruirais ces fichiers sans même
qu'excel ait une quelconque interaction dans ce
processus. Comme il se fait tard, je laisse la confection de ce script à
quelqu'un de frais et dispo.
Salutations!
"Claire" a écrit dans le message de
news:%
Bonjour,
J'aimerais détruire un fichier excel lorsque sa date de modification est
antérieure à 28 jours.
Ce fichier devrait être détruit à l'ouverture d'Excel et une fois détruit,
cette routine devrait s'effacer.
Est-ce possible ?
Merci beaucoup
Claire
Bonsoir Claire,
Plus sérieusement, je ne crois pas que la chose soit possible pour
respecter tes exigences. Cependant, il est possible
d'écrire un VbScript actionné par le planificateur de tâche de Windows qui
effectuerait un "scanning" d'un répertoire donné
et ce quotidiennement (même plusieurs fois par jour) à la recherche de
fichiers "xls" ayant une caractéristique particulière
(comme un délai de 28 jours) et qui détruirais ces fichiers sans même
qu'excel ait une quelconque interaction dans ce
processus. Comme il se fait tard, je laisse la confection de ce script à
quelqu'un de frais et dispo.
Salutations!
"Claire" <smdaoust@videotron.ca> a écrit dans le message de
news:%23DphncJjEHA.3172@TK2MSFTNGP10.phx.gbl...
Bonjour,
J'aimerais détruire un fichier excel lorsque sa date de modification est
antérieure à 28 jours.
Ce fichier devrait être détruit à l'ouverture d'Excel et une fois détruit,
cette routine devrait s'effacer.
Est-ce possible ?
Merci beaucoup
Claire
Bonsoir Claire,
Plus sérieusement, je ne crois pas que la chose soit possible pour
respecter tes exigences. Cependant, il est possible
d'écrire un VbScript actionné par le planificateur de tâche de Windows qui
effectuerait un "scanning" d'un répertoire donné
et ce quotidiennement (même plusieurs fois par jour) à la recherche de
fichiers "xls" ayant une caractéristique particulière
(comme un délai de 28 jours) et qui détruirais ces fichiers sans même
qu'excel ait une quelconque interaction dans ce
processus. Comme il se fait tard, je laisse la confection de ce script à
quelqu'un de frais et dispo.
Salutations!
"Claire" a écrit dans le message de
news:%
Bonjour,
J'aimerais détruire un fichier excel lorsque sa date de modification est
antérieure à 28 jours.
Ce fichier devrait être détruit à l'ouverture d'Excel et une fois détruit,
cette routine devrait s'effacer.
Est-ce possible ?
Merci beaucoup
Claire
Bonjour,
J'aimerais détruire un fichier excel lorsque sa date de modification est
antérieure à 28 jours.
Ce fichier devrait être détruit à l'ouverture d'Excel et une fois détruit,
cette routine devrait s'effacer.
Est-ce possible ?
Merci beaucoup
Claire
Bonjour,
J'aimerais détruire un fichier excel lorsque sa date de modification est
antérieure à 28 jours.
Ce fichier devrait être détruit à l'ouverture d'Excel et une fois détruit,
cette routine devrait s'effacer.
Est-ce possible ?
Merci beaucoup
Claire
Bonjour,
J'aimerais détruire un fichier excel lorsque sa date de modification est
antérieure à 28 jours.
Ce fichier devrait être détruit à l'ouverture d'Excel et une fois détruit,
cette routine devrait s'effacer.
Est-ce possible ?
Merci beaucoup
Claire