XL 2013 Empécher toutes modifications d'un classeur

treza88

XLDnaute Occasionnel
Bonjour à tous,

Je voudrais savoir comment (par vba si possible) empêcher toutes modifications dans un classeur.
Le classeur se trouvant sur le réseau, je voudrais que sur un PC spécifique il s'ouvre en read only pour pouvoir, même sil a été ouvert sur le PC précédemment cité, l'ouvrir sur un autre pc en modification.

Pour l'ouverture en read only pas de soucis :

VB:
Set classeur = Application.Workbooks.Open(ThisWorkbook.Path & "\" & "Fichier_a_ouvrir", ReadOnly:=True)

Il faut juste le conditionner avec un paramètre du PC pour que ça ne le fasse que sur ce PC.

Mais pour la suite, comment puis je bloquer le lancement de macro que sur ce pc et ce classeur ?

Comment transformer ce classeur en classeur de visualisation uniquement uniquement sur ce PC ?

Merci d'avance.
 

bof

XLDnaute Occasionnel
Bonjour,
Et toussa... avec une boule de cristal ?
Je vois, je vois...
En fonctions du contenu faire une macro pour le Workboon_Open qui rend invisible toutes les shapes indésirables ou plus exactement :
Rendre toutes les shapes indésirables invisibles et dans le Workbook_Open faire que la macro rende tous les shapes visibles sur ce PC.
A+
 

crocrocro

XLDnaute Occasionnel
bonjour à tous,
il me parait plus simple de jouer sur la protection du classeur ou des feuilles avec mot de passe, avec toujours sur l'événement Workbook_Open comme l'indique bof
Code:
If Application.UserName <>"c'est moi" Then
    ThisWorkbook.Protect "password"
Else
    ThisWorkbook.unProtect "password"
End If
 

treza88

XLDnaute Occasionnel
bonjour à tous,
il me parait plus simple de jouer sur la protection du classeur ou des feuilles avec mot de passe, avec toujours sur l'événement Workbook_Open comme l'indique bof
Code:
If Application.UserName <>"c'est moi" Then
    ThisWorkbook.Protect "password"
Else
    ThisWorkbook.unProtect "password"
End If

Oui c'est prévu, mais la protection de la feuille ou du classeur n'empêche pas de lancer une macro par un bouton déjà installé sur la feuille.

Et c'est sur ce point que bof parlait de rendre invisible les boutons ou autres éléments pour les rendre inactif. ils deviennent invisible donc impossible de lancer la macro lier au bouton.
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

il me parait plus simple de jouer sur la protection du classeur ou des feuilles avec mot de passe, avec toujours sur l'événement Workbook_Open comme l'indique bof
Code:
If Application.UserName <>"c'est moi" Then
    ThisWorkbook.Protect "password"
Else
    ThisWorkbook.unProtect "password"
End If
Toutafé ! 👍

Dans cette macro on doit pouvoir remplacer le Protect par ChangeFileAccess :
VB:
ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
 

Discussions similaires

Statistiques des forums

Discussions
313 866
Messages
2 103 082
Membres
108 521
dernier inscrit
manouba