Bloquer un macro si classeur partagé

jongi

XLDnaute Nouveau
Bonjour,

J'ai un classeur avec quelques macros, classeur qui est ponctuellement partagé entre une quinzaines d'utilisateurs afin qu'ils remplissent quelques données.

Afin d'éviter les erreurs je souhaite empêcher l'exécution de certaines macros lorsque le classeur est en partage. Les macros à empêcher se trouvent dans Private Sub Worksheet_Activate(), sachant qu'il y a une feuille par utilisateur.

Merci d'avance de vos réponses
 

Cousinhub

XLDnaute Barbatruc
Re : Bloquer un macro si classeur partagé

bonjour,

plutôt qu'une usine à gaz, pourquoi ne pas chercher le nom de la personne qui utilise le classeur, et en fonction du nom, dérouler le code ou non?

du style :

Code:
Private Sub Worksheet_Activate()
If Application.UserName <> "bibi" Then Exit Sub
'ton code
End Sub

remplace "bibi", par ton username (que tu peux retrouver facilement, en mettant dans un module : x = Application.UserName)

bonne journée
 

Cousinhub

XLDnaute Barbatruc
Re : Bloquer un macro si classeur partagé

Re-,

certains de mes utilisateurs pourraient aisément trouver la faille.

Et en mettant un mot de passe à ton code?

si tes utilisateurs trouvent également la faille, (pas trop dur, mais faut quand même connaître un minimum), ben, y'aura pas grand chose d'autre à faire....

Bon courage
 

jongi

XLDnaute Nouveau
Re : Bloquer un macro si classeur partagé

En fait j'ai trouvé une parade, pour ce classeur, je masque le menu "Outils" à l'ouverture, et je le ré-active à la fermeture.

If CommandBars(1).Controls("&Outils").Visible = True Then
CommandBars(1).Controls("&Outils").Visible = False
Else
End If
 

jongi

XLDnaute Nouveau
Re : Bloquer un macro si classeur partagé

Re---;

Oui, mais pas si le code est protégé par mot de passe, comme tu me le disais juste avant. J'en ai aussi profité pour masquer le menu "Insérer", qui m'a causé quelques problèmes par le passé.

Je sais que ce n'est pas très orthodoxe comme méthode, mais ça à l'air de fonctionner.

Pour moi l'idéal était simplement de vérifier si le classeur est en partage, si c'est le cas, on empêche l'exécution de certaines macro réservée au propriétaire du fichier (moi en l'occurence).
 

Cousinhub

XLDnaute Barbatruc
Re : Bloquer un macro si classeur partagé

Re-,

Là, je crois que tu prends un semi-remorque pour livrer un sucre.....

Si tu as eu des soucis à cause de ces deux menus, peut-être que c'est ton code qui présente quelques failles....

M'enfin, si tu préfères cette manière "empirique", libre à toi....

@+
 

jongi

XLDnaute Nouveau
Re : Bloquer un macro si classeur partagé

J'avoue que j'ai tendance à être un peu "possessif" avec mes classeurs :))

Mais à part cette manière "barbare", je vois pas trop comment empêcher l'insertion d'images ou autres dans excel...
 

Discussions similaires

Statistiques des forums

Discussions
312 672
Messages
2 090 769
Membres
104 661
dernier inscrit
abdelazizasma