OVH Cloud OVH Cloud

détruire un fichier excel

24 réponses
Avatar
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

10 réponses

1 2 3
Avatar
sabatier
ah! enfin, une bonne âme pour voler à mon secours....merci, docm
jps (qui retourne subodorer sous la douche)

"docm" a écrit dans le message de
news:
Bonjour Ricky.

Claire a écrit:
| | J'aimerais détruire un fichier excel lorsque sa date de
| | modification est antérieure à 28 jours.


jps, subodorant quelque chose de louche, a répondu
| moi, dans tout ça, ce que je ne comprends pas c'est le "antérieure à
| 28 jours"...


Moi, je suis d'accord avec jps. Et je conteste qu'on l'envoie déjà à la
douche.
Il eut fallu dire "antérieure de 28 jours ou plus" ou encore "antérieure
au

27 ième jour précédent".

;)
Amicalement.

"Ricky" wrote in message
news:
Bonjour *JP sabatier* (et tous les lecteurs)


A mon avis, tu devrais prendre une bonne douche ce matin. lol

Il s'agit de détruire les fichiers qui n'ont pas été utilisés depuis 28
jours

Antérieure, pas inférieure....
--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faqword.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net

| moi, dans tout ça, ce que je ne comprends pas c'est le "antérieure à
| 28 jours"...
| si je modifie aujourd'hui un fichier, je ne pense pas me tromper en
| disant que cette modif' est antérieure à 28 jours, si?
| dangereux .vbs que celui qui annulerait un fichier qui viendrait juste
| d'être modifié...à se demander même pourquoi le modifier...
| mais bon, le KGB, fondé par Staline, n'était pas à une exécution
| près... enfin, ceci pour dire qu'il fallait peut-être plutôt lire
| "postérieure" en tout bien tout honneur, oeuf corse
| jps


| | 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








Avatar
RaMA
Bonjour
Variante (pour l'apero)
Si le délai entre la date de modif et aujourd'hui est supérieure à 28
jours,c'est plus qu'une lunaison.
Salutations
RaMa
--
.
"jps" a écrit dans le message de
news:
:-))))))
jps

"Jacky" a écrit dans le message de
news:eesE%23%
Bonjour JP

je ne pense pas me tromper en disant que cette modif'
Modif,,modif,,


Tu voudrais quand même pas modifier un fichier qui va s'auto-détruire ??
C'est bien connu, le KGB détruit toujours ses documents après lecture.
Ce


n'est pas comme chez nous ou au Canada ou l'on détruit d'abord et on lit
après.
5-4-3-2-1-Delete
:o))

JJ


"sabatier" a écrit dans le
message

de news:%
moi, dans tout ça, ce que je ne comprends pas c'est le "antérieure à
28



jours"...
si je modifie aujourd'hui un fichier, je ne pense pas me tromper en
disant


que cette modif' est antérieure à 28 jours, si?
dangereux .vbs que celui qui annulerait un fichier qui viendrait juste
d'être modifié...à se demander même pourquoi le modifier...
mais bon, le KGB, fondé par Staline, n'était pas à une exécution
près...



enfin, ceci pour dire qu'il fallait peut-être plutôt lire
"postérieure"



en
tout bien tout honneur, oeuf corse
jps

"michdenis" a écrit dans le message de
news:
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


















Avatar
sabatier
je me méfie : RaMA va finir par dire que je suis c.. comme la lune, ce
qu'avait déjà un peu pensé Ricky...et tous les lecteurs...
jps

"RaMA" a écrit dans le message de
news:%23$
Bonjour
Variante (pour l'apero)
Si le délai entre la date de modif et aujourd'hui est supérieure à 28
jours,c'est plus qu'une lunaison.
Salutations
RaMa
--
.
"jps" a écrit dans le message de
news:
:-))))))
jps

"Jacky" a écrit dans le message de
news:eesE%23%
Bonjour JP

je ne pense pas me tromper en disant que cette modif'
Modif,,modif,,


Tu voudrais quand même pas modifier un fichier qui va s'auto-détruire
??



C'est bien connu, le KGB détruit toujours ses documents après lecture.
Ce


n'est pas comme chez nous ou au Canada ou l'on détruit d'abord et on
lit



après.
5-4-3-2-1-Delete
:o))

JJ


"sabatier" a écrit dans le
message

de news:%
moi, dans tout ça, ce que je ne comprends pas c'est le "antérieure à
28



jours"...
si je modifie aujourd'hui un fichier, je ne pense pas me tromper en
disant


que cette modif' est antérieure à 28 jours, si?
dangereux .vbs que celui qui annulerait un fichier qui viendrait
juste




d'être modifié...à se demander même pourquoi le modifier...
mais bon, le KGB, fondé par Staline, n'était pas à une exécution
près...



enfin, ceci pour dire qu'il fallait peut-être plutôt lire
"postérieure"



en
tout bien tout honneur, oeuf corse
jps

"michdenis" a écrit dans le message de
news:
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






















Avatar
michdenis
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





Avatar
Ricky
Bonjour *sabatier* (et tous les lecteurs)

| je me méfie : RaMA va finir par dire que je suis c.. comme la lune, ce
| qu'avait déjà un peu pensé Ricky...et tous les lecteurs...
| jps


Moaaaa ? Mensonge, calomnie, médisance, mauvaise foi....
D'ailleurs le jour où je penserai,... ça se saura. :-(*)

--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faqword.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net
Avatar
RaMA
Je plaide non coupable d'une telle intention!

heureusement que c'est après ma sieste sabbatique que j'ai lu ton post,
je crois que je n'aurais pu trouver un sommeil réparateur
sans réponse d'un généreux JPS m'accordant relaxe et acquittement.

Amicalement
RaMa
--
.
"sabatier" a écrit dans le message
de news:%
je me méfie : RaMA va finir par dire que je suis c.. comme la lune, ce
qu'avait déjà un peu pensé Ricky...et tous les lecteurs...
jps

"RaMA" a écrit dans le message de
news:%23$
Bonjour
Variante (pour l'apero)
Si le délai entre la date de modif et aujourd'hui est supérieure à 28
jours,c'est plus qu'une lunaison.
Salutations
RaMa
--
.
"jps" a écrit dans le message de
news:
:-))))))
jps

"Jacky" a écrit dans le message de
news:eesE%23%
Bonjour JP

je ne pense pas me tromper en disant que cette modif'
Modif,,modif,,


Tu voudrais quand même pas modifier un fichier qui va
s'auto-détruire




??
C'est bien connu, le KGB détruit toujours ses documents après
lecture.




Ce
n'est pas comme chez nous ou au Canada ou l'on détruit d'abord et on
lit



après.
5-4-3-2-1-Delete
:o))

JJ


"sabatier" a écrit dans le
message

de news:%
moi, dans tout ça, ce que je ne comprends pas c'est le "antérieure
à





28
jours"...
si je modifie aujourd'hui un fichier, je ne pense pas me tromper
en





disant
que cette modif' est antérieure à 28 jours, si?
dangereux .vbs que celui qui annulerait un fichier qui viendrait
juste




d'être modifié...à se demander même pourquoi le modifier...
mais bon, le KGB, fondé par Staline, n'était pas à une exécution
près...



enfin, ceci pour dire qu'il fallait peut-être plutôt lire
"postérieure"



en
tout bien tout honneur, oeuf corse
jps

"michdenis" a écrit dans le message de
news:
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


























Avatar
Michel Pierron
Bonjour Denis;
Yes you are right and I agree.
J'aurais du tester...
MP

"michdenis" a écrit dans le message de
news:%
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










Avatar
jps
:-))))))))))
jps

"Ricky" a écrit dans le message de
news:
Bonjour *sabatier* (et tous les lecteurs)

| je me méfie : RaMA va finir par dire que je suis c.. comme la lune, ce
| qu'avait déjà un peu pensé Ricky...et tous les lecteurs...
| jps


Moaaaa ? Mensonge, calomnie, médisance, mauvaise foi....
D'ailleurs le jour où je penserai,... ça se saura. :-(*)

--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faqword.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net



Avatar
jps
adunque te absolvo
jps

"RaMA" a écrit dans le message de
news:
Je plaide non coupable d'une telle intention!

heureusement que c'est après ma sieste sabbatique que j'ai lu ton post,
je crois que je n'aurais pu trouver un sommeil réparateur
sans réponse d'un généreux JPS m'accordant relaxe et acquittement.

Amicalement
RaMa
--
.
"sabatier" a écrit dans le
message

de news:%
je me méfie : RaMA va finir par dire que je suis c.. comme la lune, ce
qu'avait déjà un peu pensé Ricky...et tous les lecteurs...
jps

"RaMA" a écrit dans le message de
news:%23$
Bonjour
Variante (pour l'apero)
Si le délai entre la date de modif et aujourd'hui est supérieure à 28
jours,c'est plus qu'une lunaison.
Salutations
RaMa
--
.
"jps" a écrit dans le message
de



news:
:-))))))
jps

"Jacky" a écrit dans le message de
news:eesE%23%
Bonjour JP

je ne pense pas me tromper en disant que cette modif'
Modif,,modif,,


Tu voudrais quand même pas modifier un fichier qui va
s'auto-détruire




??
C'est bien connu, le KGB détruit toujours ses documents après
lecture.




Ce
n'est pas comme chez nous ou au Canada ou l'on détruit d'abord et
on





lit
après.
5-4-3-2-1-Delete
:o))

JJ


"sabatier" a écrit dans
le





message
de news:%
moi, dans tout ça, ce que je ne comprends pas c'est le
"antérieure






à
28
jours"...
si je modifie aujourd'hui un fichier, je ne pense pas me tromper
en





disant
que cette modif' est antérieure à 28 jours, si?
dangereux .vbs que celui qui annulerait un fichier qui viendrait
juste




d'être modifié...à se demander même pourquoi le modifier...
mais bon, le KGB, fondé par Staline, n'était pas à une exécution
près...



enfin, ceci pour dire qu'il fallait peut-être plutôt lire
"postérieure"



en
tout bien tout honneur, oeuf corse
jps

"michdenis" a écrit dans le message de
news:
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






























Avatar
Michel Pierron
Re Denis;
Cependant, la manière de faire suivante devrait convenir:
Private Sub Workbook_Open()
With ThisWorkbook
Application.DisplayAlerts = False
.ChangeFileAccess Mode:=xlReadOnly
If Now - CreateObject("Scripting.FileSystemObject") _
.GetFile(.FullName).DateLastModified >= 28 Then
Kill .FullName
.Close False
Else
.ChangeFileAccess Mode:=xlReadWrite
Application.DisplayAlerts = True
End If
End With
End Sub

MP

"michdenis" a écrit dans le message de
news:%
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










1 2 3