OVH Cloud OVH Cloud

Delete if...

2 réponses
Avatar
Eric \(C\)
Bonjour,

Sur Excelabo j'ai trouvé une procédure qu'il faut lancer pour détruire un
fichier (de manière automatique ?)-> Il semble que non puisque la procédure
doit être lancée par celui qui veut effacer le fichier...(bizarre comme
procédure mais bon) :


Sub Suicide()
Dim FName As String

Dim Ndx As Integer

With ThisWorkbook

.Save

For Ndx = 1 To Application.RecentFiles.Count

If Application.RecentFiles(Ndx).Path = .FullName Then

Application.RecentFiles(Ndx).Delete

Exit For

End If

Next Ndx

.ChangeFileAccess Mode:=xlReadOnly

Kill .FullName

.Close SaveChanges:=False

End With

End Sub



Je souhaiterais savoir si on peut adapter la procédure de la manière
suivante :

Le fichier se détruit automatiquement à une date donnée (exemple le
1/6/2005) sauf si on introduit le mot de passe "Zaza" dans la cellule A1
avant cette date.
Alors le fichier ne se détruit plus (en tout cas, plus de manière
automatique).

Est-ce possible ?

D'avance merci pour votre aide.

Eric (C)

2 réponses

Avatar
LeSteph
Bonsoir Eric,
Le code en question semble détruire la liste
des derniers fichiers utilisés et non un seul.
Attention Kill => plus de fichier du tout.
Un exemple moins destructeur:
'*******
Private Sub Workbook_Open()
If Format(Now, "dd/mm/yyyy") = "15/12/2004" Then
MsgBox ("dans dix jours c'est Noël")
End If
End Sub
'******
'lSteph

"Eric (C)" a écrit dans le message de news:
Mw1wd.22324$
Bonjour,

Sur Excelabo j'ai trouvé une procédure qu'il faut lancer pour détruire un
fichier (de manière automatique ?)-> Il semble que non puisque la
procédure doit être lancée par celui qui veut effacer le
fichier...(bizarre comme procédure mais bon) :


Sub Suicide()
Dim FName As String

Dim Ndx As Integer

With ThisWorkbook

.Save

For Ndx = 1 To Application.RecentFiles.Count

If Application.RecentFiles(Ndx).Path = .FullName Then

Application.RecentFiles(Ndx).Delete

Exit For

End If

Next Ndx

.ChangeFileAccess Mode:=xlReadOnly

Kill .FullName

.Close SaveChanges:úlse

End With

End Sub



Je souhaiterais savoir si on peut adapter la procédure de la manière
suivante :

Le fichier se détruit automatiquement à une date donnée (exemple le
1/6/2005) sauf si on introduit le mot de passe "Zaza" dans la cellule A1
avant cette date.
Alors le fichier ne se détruit plus (en tout cas, plus de manière
automatique).

Est-ce possible ?

D'avance merci pour votre aide.

Eric (C)



Avatar
Alain CROS
Bonjour

Private Sub Workbook_Open()
If Date >= DateSerial(2005, 6, 1) Then
If Not ([Feuil1!A1] = "zaza") Then
With ThisWorkbook
.ChangeFileAccess xlReadOnly
Kill .FullName
.Close False
End With
End If
End If
End Sub

Alain CROS

"Eric (C)" a écrit dans le message de news: Mw1wd.22324$


Je souhaiterais savoir si on peut adapter la procédure de la manière
suivante :

Le fichier se détruit automatiquement à une date donnée (exemple le
1/6/2005) sauf si on introduit le mot de passe "Zaza" dans la cellule A1
avant cette date.
Alors le fichier ne se détruit plus (en tout cas, plus de manière
automatique).

Est-ce possible ?

D'avance merci pour votre aide.

Eric (C)