save as non autorisé

  • Initiateur de la discussion Initiateur de la discussion Ilino
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Ilino

XLDnaute Barbatruc
Bonjour Forum
Je cherche une astuce de telle manière que mon fichier Excel ne peut pas être déplacé d’un PC a l'autre.
Exemple
Dans mon code je précise le chemin répertoire de mon fichier ( ex. C:\FGP 2014) si un utilisateur veut copier ou déplacer le fichier un message Msgbox lui informe qui ne peut pas faire cette opération ou il n’est pas autorisé
a+
 
Re : save as non autorisé

Bonjour Ilino,

A priori il suffit de neutraliser la boîte de dialogue "Enregistrer sous".

Placer dans ThisWorkbook :

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
Application.EnableEvents = False
Me.Save 'enregistrement normal
Application.EnableEvents = True
End Sub
A+
 
Re : save as non autorisé

Bonjour
Coucou Job75😀

J'avoue que le besoin me parait flou : si on copie le ficher via l'explorateur Windows, que pasa ?

Un peu plus d'explication sur le pourquoi du comment ne serait pas de trop...
 
Re : save as non autorisé

Re,

Si l'on veut absolument un message :

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI Then
  Cancel = True
  MsgBox "Vous n'avez pas l'autorisation d'utiliser cette commande..."
End If
End Sub
Edit : hello chris 🙂

A+
 
Re : save as non autorisé

Bonjour Chris
mon souci est presque ça .. je souhaite une fois installé le fichier dans un PC d'utlistateur , donc il n'a pas le droit de recopié ou le déplacé vers un autre PC
Code:
Exemple
Dans mon code je précise le chemin répertoire de mon fichier ( ex. C:\FGP 2014) si un utilisateur veut copier ou déplacer le fichier un message Msgbox lui informe qui ne peut pas faire cette opération ou il n’est pas autorisé
A+
 
Dernière édition:
Re : save as non autorisé

Re
Je propose cette solution a m'aider de la dévlopper en VBA/
1. créer un code ou je dois mettre le chemin du répertoire obligatoire (ex. C:\FGP 2014)
2. une fois le chemin est définit par l’admin du fichier et bien sure soit secret
3. Je demande a mes agent s( utilisateurs) de créer ce chemin dans leur PC et je leur copiée le fichier dans leur PC ( et suite au code de la 1ere étape) le fichier va etre enregistrée automatiquement dans ce répertoire, une fois installé sur son PC , l’utilisateur n’est pas autorisé de recopié ce fichier dans un autre répertoire ou le faire déplacé vers un autre PC.
Et voila c’est une astuce de créer une licence du fichier
MERCI PAR AVANCE
 
Re : save as non autorisé

bonjour,
j'ai eu une demande similaire un jour
plutot que d'interdire une copie, j'ai crée une macro qui s'éxécute à l'ouverure et qui vérifie si le pc sur lequel est ouvert le fichier est dans une liste qui se trouve dans le code VBA ou sur une feuille cachée ...
- bien sur, il faut protéger le code VBA
- j'ai également vérifié si les macros étaient activées ou pas

mais celà reste toujours inefficace en face d'un utilisateur très averti
 
Re : save as non autorisé

Re, hello mutzik,

Ce code n'empêche pas la copie ou le déplacement, mais supprime le fichier si on l'ouvre ensuite :

Code:
Private Sub Workbook_Open()
If Me.FullName <> "C:\FGP 2014.xlsm" Then
  Application.DisplayAlerts = False
  Me.ChangeFileAccess xlReadOnly
  Kill Me.FullName
  If Workbooks.Count = 1 Then Application.Quit Else Me.Close
End If
End Sub
A placer dans ThisWorkbook bien sûr.

Et bien sûr pas d'effet si les macros sont désactivées...

A+
 
Re : save as non autorisé

RE, Hello Mutzik

Si on le copie dans le même dossier d'un autre PC, la protection ne marche plus d'où le fil que j'ai indiqué avec un système de licence qui me parait pas mal fait...

En plus imposer un dossier sur C: est contraignant pour l'utilisateur...
 
Re : save as non autorisé

Bonjour MAITRE
SUPER ET C'EST NICKEL ça fonctionne tres bien
mais je souhaite changer
Code:
.....
If Me.FullName <> "C:\FGP 2014.xlsm" Then
....
c a d lui indiquer que le chemain C:\ xxx.xlsm
et l'extension .xlsm
 
Re : save as non autorisé

re la foule en délire,

MsgBox Environ("computername")

te retourne le nom de l'ordinateur
il existe aussi "username" que j'ai utilisé ... utilise g...gle pour les autres possibilités, ou l'aide d'excel
si tu ouvres une fenêtre CMD, en tapant set [entrée], tu peux voir toutes variables d'environnement qui sont définies sur ton ordi et que tu peux utiliser dans le code ci-dessus

malheureusement, il ne s'agit pas d'un fil mais d'une appli dans le cadre de mon travail, et je ne peux la mettre sur ce forum
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

G
Réponses
0
Affichages
562
G
D
Réponses
3
Affichages
922
David69400
D
A
Réponses
6
Affichages
7 K
azerty123
A
Retour