Interdire un enregistrement

chanu

XLDnaute Junior
Bonjour à tous,
j'ai créé un petit programme sur excel avec du vba qui permet d'orienter les utilisateurs vers tel ou tel classeur. Et je voudrais que les personnes qui utilisent ce programme ne fassent que de la visualisation, autrement dit je voudrais que lorsqu'ils ferment le fichier, la msgBox d'enregistrement ne s'affiche pas. En fait je voudrais qu'ils ne puissent ni enregistrer ni modifier le document.

Je suis sûr que c'est tout bête mais je trouve pas la bonne macro:confused:
 

vbacrumble

XLDnaute Accro
Re : Interdire un enregistrement

Re


Si ton classeur utilises du VBA, c'est peine perdue alors, non ?

(au moins avec les utilisateurs sachant ouvrir un classeur en inhibant les macros
et aller farfouiller dans VBE pour commenter tout le code restrictif)
 

chanu

XLDnaute Junior
Re : Interdire un enregistrement

Merci pour tes liens Pascal j'ai utilisé pour tromper excel sur l'état d'enregistrement:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True
End Sub

Par contre si moi je veux enregistrer est ce qu'il est possible au moment de l'enregistrement (Ctrl+S ou fichier--> enregistrer) de demander un mot de passe dont je serais le seul à connaître, comme celà même si le fichier est modifié, il ne pourra pas être sauver puisque la personne n'aura pas le mdp
 

chanu

XLDnaute Junior
Re : Interdire un enregistrement

Niquel, j'avais pas tout saisi
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim CellPassWord As Range

Set CellPassWord = Sheets("Accueil").Range("A1")
If Not CellPassWord = "XX" Then
Cancel = True
Else
CellPassWord = ""
MsgBox "Fichier Sauvé !", vbInformation, "Confirmation"
End If
End Sub

Au départ je pensais mettre une boîte dialogue qui s'affiche qu'en je veux enregistrer, alors que dans ce code il suffit de mettre le mot de passe dans une cellule pour sauver le fichier, bien trouvé ;)
 

vbacrumble

XLDnaute Accro
Re : Interdire un enregistrement

Re

chanu:
Tu veux pas me répondre :( ?

Je veux juste mettre en garde que cette solution n'est pas à 100% fiable
(puisque qu'on peut désactiver les macros à l'ouverture d'un classeur)

Et ton mot de passe apparait en clair non ?
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Interdire un enregistrement

RE

Par contre comme le dit vbacrumble tu devrais
1 - protéger ton code VBA par un mot de passe
2 - faire en sorte qu'à la sortie de ton classeur toutes feuilles se mettent en veryhidden sauf une feuille vierge sur lequel tu mettrais "il faut activer le code"
 

chanu

XLDnaute Junior
Re : Interdire un enregistrement

Re
oui vbacrumble mais les personnes qui vont utiliser le fichier ne sont pas trop caler et de toute façon il n'y a rien de confidentiel c'est juste pour leur éviter de sauvegarder en sortant du fichier. S'il y a une mise à jour à faire la personne pour sauvegarder volontairement avec le mdp.
 

vbacrumble

XLDnaute Accro
Re : Interdire un enregistrement

Re

c'est juste pour leur éviter de sauvegarder en sortant du fichier
Je ne comprends pas
s'ils ne peuvent que consulter le fichier
(c'est à dire ne rien inscrire dans les cellules, ne pas changer le format, ne pas supprimer de feuille) donc en lecture seule , ton fichier ne sera pas modifié et ne risque rien non ?

Hypothèse de travail: utilisateurs novices
Regardes ce fichier Exemple, il est protégé suffisamment dans cette hypothèse non ?
 

Pièces jointes

  • prot.xls
    13.5 KB · Affichages: 53
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 608
Messages
2 090 189
Membres
104 446
dernier inscrit
Phil A