Microsoft 365 interdire la supression d'un classeur

Anne13

XLDnaute Nouveau
Bonjour à tous,
j'ai créé un ficher avec macro pour gérer un stock de produits pour mes collègues.
Notre service qualité me demande de m'assurer que le fichier ne peut être supprimé. ( même si des points de restaurations sont possible)
Pour celà le service informatique a bloqué les droits de supression sur le répertoire windows contenant notre fichier.
Mais du coup je ne peux plus l'enregistrer après modification : lorsque le fichier est ouvert, un fichier temporaire est créé dans ce répertoire, puis supprimé à l'enregistrement, comme on n'a plus les droits de suppression ça bloque ...
Du coup, est il possible de forcer une autre destination pour l'écriture de ces fichiers temporaires ? Et sinon, y a t'il un autre moyen de protéger un fichier de la suppression ? ( je précise que le contenu du fichier est protégé, mais on peut le supprimer dans l'explorateur windows ...)
Merci de votre aide,
bonne journée
Anne
 
Solution
C
Bonjour Anne13
Merci Patrick 😜

VB:
' Avant fermeture du classeur
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Dim sNomFic As String, sPathDest As String
  ' Chemin d'accès au dossier protégé
  sPathDest = "\\NOMSERVEUR\Dossier\sous-dossier\"
  ' Nom du fichier à enregistrer
  sNomFic = Format(Now(), "yyyymmdd_hhmmss") & " " & ThisWorkbook.Name
  ' Sauvegarder le classeur original
  ThisWorkbook.Save
  ' Créer la backup
  ThisWorkbook.SaveCopyAs sPathDest & sNomFic
End Sub

@+
C

Compte Supprimé 979

Guest
Bonjour Anne13

Très mauvaise idée de votre service IT... j'aimerai connaitre le responsable :eek:😂

Il n'y a pas de moyen pour éviter la suppression intempestive, mais vous pouvez ne mettre qu'un raccourcis vers le vrai fichier

Ceci dit, avec du ShadowCopy vous n'avez pas trop de risque, si le fichier est supprimé vous pouvez le restauré.

Je ne comprends pas que votre service qualité puisse demander ce genre de chose 🤔
Le fichier doit être tout simplement disponible.

@+
 

Anne13

XLDnaute Nouveau
Bonjour Anne13

Très mauvaise idée de votre service IT... j'aimerai connaitre le responsable :eek:😂

Il n'y a pas de moyen pour éviter la suppression intempestive, mais vous pouvez ne mettre qu'un raccourcis vers le vrai fichier

Ceci dit, avec du ShadowCopy vous n'avez pas trop de risque, si le fichier est supprimé vous pouvez le restauré.

Je ne comprends pas que votre service qualité puisse demander ce genre de chose 🤔
Le fichier doit être tout simplement disponible.

@+
Bonjour Bruno,
on essaye de trouver une solution, le plus facile était de nous mettre en read write only mais ça ne fonctionne pas, on cherche donc à faire autrement. Il nous est demandé de prouver que ce fichier ne peut pas être supprimé et remplacé... J'ai déjà du me battre pour qu'on accèpte côté qualité un excel avec des macros plutôt qu'un cahier papier, j'avoue que ça me fait râler si c'est les droits de suppressions qui bloquent 🤦‍♀️
Pour ce qui est du raccourci, il faut avoir accès au répertoire parent pour qu'il fonctionne, ça ne resout pas le problème ... Merci du soutien 👍
 
C

Compte Supprimé 979

Guest
Re,

Si j'ai bien compris par rapport à ce que demande le service qualité,
ce fichier sert de document comptable ?
Si tel est bien le cas, pas d'autre choix que d'utiliser un vrai logiciel

Ou alors si vous avez O365, mettre le fichier sur un Sharepoint en ne donnant que la possibilité de modifier le contenu du fichier

@Usine à gaz cette méthode est bonne mais accessible uniquement aux admins et si on ne doit pas modifier le fichier, ce qui n'est pas le cas ici 😜
 
Dernière modification par un modérateur:

Anne13

XLDnaute Nouveau
Merci à tous les deux pour vos réponses, effectivement la solution de Lionel est celle que l'on a tenté de mettre en place, mais le fonctionnement d'excel avec sa génération/suppression de fichiers temp pose problème.
Bruno a bien compris le besoin, j'avais pensé au sharepoint/teams mais on préférait rester sur le réseau local. Je pense qu'ova quand même aller vers ça vu que je ne trouve null part la possibilité de modifier ce fonctionement d'excel.
ce n'est pas vraiment un document comptable, plus du suivi des consommations, mais effectivement on va regarder du côté des solutions commerciales.
En attendant je vais aussi chercher si on ne peut pas enregistrer une copie sur un emplacement protégé à chaque fermeture de fichier, comme ça les utilisateurs travaillent sur un répertoire avec tous le droits et on a une copie de sauvegarde.
Bonne journée ,
Anne
 
C

Compte Supprimé 979

Guest
Bonjour Anne13

En attendant je vais aussi chercher si on ne peut pas enregistrer une copie sur un emplacement protégé à chaque fermeture de fichier, comme ça les utilisateurs travaillent sur un répertoire avec tous le droits et on a une copie de sauvegarde.
Oui vous pouvez effectivement, il faut juste donner des droits d'ajout au dossier et enregistrer la copie avec un format date "aaaammjj hhmmss" comme ça pas de risque de doublon

Voici le code à placer dans ThisWorkbook ;)
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Dim sNomFic As String, sPathDest As String
  ' Chemin d'accès au dossier protégé
  sPathDest = "\\NOMSERVEUR\Dossier\sous-dossier\"
  ' Nom du fichier à enregistrer
  sNomFic = Format(Now(), "yyyymmdd_hhmmss") & " " & ThisWorkbook.Name
  ThisWorkbook.SaveCopyAs sPathDest & sNomFic
End Sub

@+
 

patricktoulon

XLDnaute Barbatruc
Re bonjour,
Super je n'ai même pas à écrire la macro ;-)
et oui, j'enregistrerai 2 fois.
C'est pas nickel comme solution mais ça répondra au besoin, en attendant mieux.
Merci pour les bonnes idées.
Bonne journée !
ben si c'est nikel il faut juste que tu ajoute un .save au classeur lui même avant le saveascopy
le jour ou tu a un soucis tu reprend la dernière sauvegarde avec la date et heure la plus récente
c'est tout
sinon tu utilise le classeur lui même a chaque fois
c'est pas compliqué
@bruno45 va te faire ça en 2/3 coup de cuillère a pot
 
C

Compte Supprimé 979

Guest
Bonjour Anne13
Merci Patrick 😜

VB:
' Avant fermeture du classeur
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Dim sNomFic As String, sPathDest As String
  ' Chemin d'accès au dossier protégé
  sPathDest = "\\NOMSERVEUR\Dossier\sous-dossier\"
  ' Nom du fichier à enregistrer
  sNomFic = Format(Now(), "yyyymmdd_hhmmss") & " " & ThisWorkbook.Name
  ' Sauvegarder le classeur original
  ThisWorkbook.Save
  ' Créer la backup
  ThisWorkbook.SaveCopyAs sPathDest & sNomFic
End Sub

@+
 

youky(BJ)

XLDnaute Barbatruc
Bonjour à tous,
Il y a qlq temps j'avais fait une macro pour sauvegarder un fichier important.
A chaque enregistrement un fichier de sauvegarde est créé dans un dossier MySave
Je conserve 5 de ces fichiers et les plus anciens sont supprimés, cela libère de l'espace.
Cela peut intéresser certain d'entre vous alors voici.
Bruno
 

Pièces jointes

  • ExempleSauvegarde.xlsm
    19.5 KB · Affichages: 11

Anne13

XLDnaute Nouveau
ben si c'est nikel il faut juste que tu ajoute un .save au classeur lui même avant le saveascopy
le jour ou tu a un soucis tu reprend la dernière sauvegarde avec la date et heure la plus récente
c'est tout
sinon tu utilise le classeur lui même a chaque fois
c'est pas compliqué
@bruno45 va te faire ça en 2/3 coup de cuillère a pot
bonjour, oui la solution est parfaite, c'est juste que je trouve ça tellement tordu qu'on me demande ça ...
je sais que les sauvegarde ne serviront que pour les audits, pour prouver que les 2 fichiers ( sauvegarde et en cours ) sont identiques.
En tous cas merci, au moins c'est possible !!
 

Discussions similaires

Statistiques des forums

Discussions
314 963
Messages
2 114 808
Membres
112 255
dernier inscrit
Sandrine03430