OVH Cloud OVH Cloud

Ne pas enregistrer

2 réponses
Avatar
fredbzr
Bonjour à tous

Voici mon nouveau défi:
Je dois créer une feuille de saisie qui ne doit servir qu'une seule fois.Je
m'explique.
L'utilisateur ouvre le classeur et tombe sur cette feuille à remplir.
Ma contrainte est que cet utilisateur x ne doit en aucun cas pouvoir
enregistrer cette feuille (dans un dossier, enregistrement sous, à la
fermeture.....) par contre il peut l'imprimer (pour çà j'ai créé un bouton
sur la feuille)
Actuellement j'utilise le code ci-dessous, mais le problème est, qu'à
l'ouverture si l'utilisateur n'active pas les macros, il peut faire ce qu'il
veut

Private Sub Workbook_beforeSave(ByVal SaveAsUI _
As Boolean, Cancel As Boolean)
Dim mdp As String
mdp = InputBox("mot de passe pour la sauvegarde")
If mdp <> "TOTO" Then
Cancel = True
MsgBox "désolé vous ne pouvez pas enregistrer"
End If
End Sub

Quelqu'un a-t-il une solution à mon problème ?
Merci pour votre aide

Fred

2 réponses

Avatar
anonymousA
Bonjour,

ce n'est qu'un artifice, mais enregistre ton fichier au format xla (
donc comme une macro complémentaire) et dans ta macro d'ouverture si
l'utilisateur a cliqué sur activer les macros alors, change la propriété
IsAddin à false .N'oublie evidemment pas de la remettre à True lors de
la fermeture du classeur.
Dans ce cas, le fichier apparaitra à l'ouverture, sinon, il sera ouvert
mais non visible. Il te faut de plus gérer l'interdiction d'accès par
l'environnement VBE en verrouillant l'accès à ton fichier par mdp.Enfin,
l'adjonction d'une barre d'outils perso attachée au fichier peut être
utile.A toi de voir.

A+

Bonjour à tous

Voici mon nouveau défi:
Je dois créer une feuille de saisie qui ne doit servir qu'une seule fois.Je
m'explique.
L'utilisateur ouvre le classeur et tombe sur cette feuille à remplir.
Ma contrainte est que cet utilisateur x ne doit en aucun cas pouvoir
enregistrer cette feuille (dans un dossier, enregistrement sous, à la
fermeture.....) par contre il peut l'imprimer (pour çà j'ai créé un bouton
sur la feuille)
Actuellement j'utilise le code ci-dessous, mais le problème est, qu'à
l'ouverture si l'utilisateur n'active pas les macros, il peut faire ce qu'il
veut

Private Sub Workbook_beforeSave(ByVal SaveAsUI _
As Boolean, Cancel As Boolean)
Dim mdp As String
mdp = InputBox("mot de passe pour la sauvegarde")
If mdp <> "TOTO" Then
Cancel = True
MsgBox "désolé vous ne pouvez pas enregistrer"
End If
End Sub

Quelqu'un a-t-il une solution à mon problème ?
Merci pour votre aide

Fred




Avatar
fredbzr
Bonjour Anonymous,
N'existe -t-il pas un moyen de désactiver l'affichage d'excel à l'ouverture
du document qui demande: activer les macros/ne pas activer/annuler sans
passer par outil/option...qui désactive la protection macro mais pour tous
les documents.En fait une macro qui s'active des le début et empêche
l'apparition de cette fenêtre
"anonymousA" a écrit dans le message de news:
446607e3$0$297$
Bonjour,

ce n'est qu'un artifice, mais enregistre ton fichier au format xla ( donc
comme une macro complémentaire) et dans ta macro d'ouverture si
l'utilisateur a cliqué sur activer les macros alors, change la propriété
IsAddin à false .N'oublie evidemment pas de la remettre à True lors de la
fermeture du classeur.
Dans ce cas, le fichier apparaitra à l'ouverture, sinon, il sera ouvert
mais non visible. Il te faut de plus gérer l'interdiction d'accès par
l'environnement VBE en verrouillant l'accès à ton fichier par mdp.Enfin,
l'adjonction d'une barre d'outils perso attachée au fichier peut être
utile.A toi de voir.

A+

Bonjour à tous

Voici mon nouveau défi:
Je dois créer une feuille de saisie qui ne doit servir qu'une seule
fois.Je m'explique.
L'utilisateur ouvre le classeur et tombe sur cette feuille à remplir.
Ma contrainte est que cet utilisateur x ne doit en aucun cas pouvoir
enregistrer cette feuille (dans un dossier, enregistrement sous, à la
fermeture.....) par contre il peut l'imprimer (pour çà j'ai créé un
bouton sur la feuille)
Actuellement j'utilise le code ci-dessous, mais le problème est, qu'à
l'ouverture si l'utilisateur n'active pas les macros, il peut faire ce
qu'il veut

Private Sub Workbook_beforeSave(ByVal SaveAsUI _
As Boolean, Cancel As Boolean)
Dim mdp As String
mdp = InputBox("mot de passe pour la sauvegarde")
If mdp <> "TOTO" Then
Cancel = True
MsgBox "désolé vous ne pouvez pas enregistrer"
End If
End Sub

Quelqu'un a-t-il une solution à mon problème ?
Merci pour votre aide

Fred