OVH Cloud OVH Cloud

Sécurité

3 réponses
Avatar
Erwann
Bonjour

J'ai un fichier Excel que je souhaiterais protéger

J'ai créé une procédure à l'entrée d'une macro :

If Range("Z12") >= 1 Then
ActiveWorkbook 'Problème !!!!!!!!!!!!!
End If

Z_Answer = InputBox("La mise à jour assistée ne se fera que si vous
donnez le code d'accès nécessaire", "Mot de Passe")

If Z_Answer <> "b89" Then
x = MsgBox("Vous n'avez pas entré le mot de passe correct." &
vbNewLine & _
"En cas de nouvel essai, Ce fichier s'effacera", _
vbCritical, " Avertissement !!!")
Range("Z12") = Range("Z12") + 1
End
End If

Dans la ligne Problème, je souhaiterais que le fichier se ferme et soit
définitivement effacé du disque dur de l'ordinateur

Comment faire ?

Merci

3 réponses

Avatar
Daniel
Bonjour.
Essaie :

Chemin = ActiveWorkbook.Path
nom = ActiveWorkbook.Name
ActiveWorkbook.Close False
Kill Chemin & "" & nom

Cordialement.
Daniel
"Erwann" a écrit dans le message de news:
44057567$0$21291$
Bonjour

J'ai un fichier Excel que je souhaiterais protéger

J'ai créé une procédure à l'entrée d'une macro :

If Range("Z12") >= 1 Then
ActiveWorkbook 'Problème !!!!!!!!!!!!!
End If

Z_Answer = InputBox("La mise à jour assistée ne se fera que si vous
donnez le code d'accès nécessaire", "Mot de Passe")

If Z_Answer <> "b89" Then
x = MsgBox("Vous n'avez pas entré le mot de passe correct." &
vbNewLine & _
"En cas de nouvel essai, Ce fichier s'effacera", _
vbCritical, " Avertissement !!!")
Range("Z12") = Range("Z12") + 1
End
End If

Dans la ligne Problème, je souhaiterais que le fichier se ferme et soit
définitivement effacé du disque dur de l'ordinateur

Comment faire ?

Merci




Avatar
Erwann
La procédure que vs m'avez proposé marche pour les 90 premiers % de ce que
je souhaitais
Les 10 % restants devraient permettre de supprimer entièrement le fichier
d'où il se trouve ds l'ordinateur
ce qui ne se passe pas

Merci encore
Avatar
FxM
Bonsoir,

Je créerais une nouvelle feuille (vide ou non), effacerais toutes les
autres avant d'enregistrer le fichier. Ton gentil utilisateur se
retrouve donc avec un classeur vide ...

quelque chose comme : (non testé)
non = "trop tard"
sheets.add
activesheet.name = non
for each sht in sheets
if sht.name <> non then
application.displayalerts = false
sht.delete
application.displayalerts = true
end if
next sht
thisworkbook.close true

@+
FxM


Bonjour

J'ai un fichier Excel que je souhaiterais protéger

J'ai créé une procédure à l'entrée d'une macro :

If Range("Z12") >= 1 Then
ActiveWorkbook 'Problème !!!!!!!!!!!!!
End If

Z_Answer = InputBox("La mise à jour assistée ne se fera que si vous
donnez le code d'accès nécessaire", "Mot de Passe")

If Z_Answer <> "b89" Then
x = MsgBox("Vous n'avez pas entré le mot de passe correct." &
vbNewLine & _
"En cas de nouvel essai, Ce fichier s'effacera", _
vbCritical, " Avertissement !!!")
Range("Z12") = Range("Z12") + 1
End
End If

Dans la ligne Problème, je souhaiterais que le fichier se ferme et soit
définitivement effacé du disque dur de l'ordinateur

Comment faire ?

Merci