[VB6 -> VBA]Protéger le contenu d'une feuille partagé tout en autorisant l'écrit

Signaler
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
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

2 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,
Le problème se présente-t-il également lorsqu'il n'y a qu'un seul utilisateur de ce classeur ? Car là est le vrai problème : s'il est partagé, il n'est pas modifiable par un second utilisateur si déjà ouvert par un premier, tant que non fermé par le premier. Et heureusement.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Rien, par contre ne saurait t'empêcher d'écrire dans un fichier texte .log.
Ce serait d'ailleurs bien plus logique.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.