Protéger le contenu d'une feuille partagé tout en autorisant l'écriture par VBA

  • Initiateur de la discussion Initiateur de la discussion callimea
  • 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 !

callimea

XLDnaute Nouveau
Bonjour,

Je cherche depuis un moment et tous mes essais se sont soldés par des échecs. Je me tourne donc vers vous, peut-être quelqu'un saura m'aider.

J'ai un classeur de 2 feuilles; une première contenant un classeur de données et une seconde dans laquelle un code VBA permet de notifier toutes les modifications apportées sur la feuille 1 (par qui, quand...). Le classeur est partagé.

Mon problème:

je souhaite empêcher que les utilisateurs du classeurs modifient la page de suivie des modifications tout en permettant que mon code VBA fonctionne pour écrire dans cette page de suivie.

J'ai donc essayé (entre autre) d'intégrer une désactivation/réactivation de mot de passe sur ma feuille à protéger (Cf ci-dessous). Ceci fonctionne très bien SAUF lorsque le fichier est partagé... Bien sure 🙁 J'ai fait d'autre test bien moins fructueux que celui ci j'en ai peur et je bloque toujours...

Quelqu'un peut-il m'aider? (Si ce n'est pas clair faite le moi savoir)

Merci d'avance pour votre aide et bonne journée.


Dim lastval As Variant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
lastval = Target.Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lst As Long
Application.EnableEvents = False
Application.ScreenUpdating = False
lst = Sheets("AuditTrail").Range("A" & Rows.Count).End(xlUp).Row + 1
With Sheets("AuditTrail")
Unprotect "MotdePasse"
.Range("A" & lst).Value = Environ("Username")
.Range("B" & lst).Value = DateTime.Now
.Range("C" & lst).Value = ActiveSheet.Name
.Range("D" & lst).Value = Target.Address
.Range("E" & lst).Value = lastval
.Range("F" & lst).Value = Target.Value
.Protect "MotdePasse"
Application.ScreenUpdating = True
End With
Application.EnableEvents = True
End Sub
 
Re : Protéger le contenu d'une feuille partagé tout en autorisant l'écriture par VBA

Bonjour Callimea,

Pourquoi créer quelque chose par VBA, alors que le fait de partager un classeur te permet de suivre toutes les modifications si tu le souhaites !?

De plus le VBA peut-être facilement bloqué à l'ouverture du classeur, pas le suivi des modifications (protégé par mot de passe) d'un classeur partagé 😉

A+
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
2
Affichages
546
  • Question Question
XL 2019 Code VBA
Réponses
12
Affichages
791
Retour