[Résolu] [Calc] Exécution macro protégée

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Avatar de l’utilisateur
LA_440
Fraîchement OOthentifié
Messages : 7
Inscription : 30 juin 2021 20:42

[Résolu] [Calc] Exécution macro protégée

Message par LA_440 »

Bonjour,

J'ai créé un tableau avec plusieurs boutons, chacun d'eux déclenchant l'exécution d'une macro.

Je souhaite que n'importe quel utilisateur du tableau puisse exécuter ces macros via les boutons dédiés, mais je ne souhaite pas que n'importe quel utilisateur puisse accéder au contenu des macros et les modifier.

Dans cette perspective, j'ai attribué un mot de passe à la bibliothèque contenant les macros. Les macros sont ainsi protégées, mais les boutons deviennent alors inopérants pour tout utilisateur ignorant le mot de passe...

Est-il possible d'autoriser l'exécution des macros tout en empêchant leur modification ?

Merci d'avance pour vos réponses.
Dernière modification par LA_440 le 26 juil. 2021 16:04, modifié 1 fois.
LibreOffice 7.1 sous Windows 10
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: [Calc] Autoriser l'exécution des macros mais pas leur mo

Message par zeguedon »

Bonjour,

Je ne reproduis pas ! Est-ce que tu peux joindre un exemple pour voir ?
@+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
Avatar de l’utilisateur
LA_440
Fraîchement OOthentifié
Messages : 7
Inscription : 30 juin 2021 20:42

Re: [Calc] Autoriser l'exécution des macros mais pas leur mo

Message par LA_440 »

Voici un exemple.
Sans mot de passe sur la bibliothèque, le bouton fonctionne. Avec un mot de passe, on obtient :
Erreur d'exécution BASIC.
Variable d'objet non définie.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: [Calc] Autoriser l'exécution des macros mais pas leur mo

Message par zeguedon »

Bonjour,
Est-ce que tu peux donner le MDP pour voir le code stp. Ton fichier s'appelle Test, ta librairie s'appelle Test, la Sub que tu appelles s’appelle Test, d'ici à ce qu'il y ait une variable test dans ton code ???
@+
 Ajout : Tu n'as pas dit si mon fichier fonctionne correctement chez toi :?
MDP = toutes les lettres de mon pseudo doublées 
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
Avatar de l’utilisateur
LA_440
Fraîchement OOthentifié
Messages : 7
Inscription : 30 juin 2021 20:42

Re: [Calc] Autoriser l'exécution des macros mais pas leur mo

Message par LA_440 »

Bonsoir zeguedon,

Merci de porter de l'intérêt à mon problème, aussi négligeable soit-il.
zeguedon a écrit :Ton fichier s'appelle Test, ta librairie s'appelle Test, la Sub que tu appelles s’appelle Test (...)
Ben voui, j'ai exploité le concept de "test" jusqu'au bout ! :D Jusqu'au bout ? Non, car je n'ai pas mis "Test" en mot de passe ! J'avoue ne pas y avoir pensé. Mon mot de passe a été beaucoup plus inspiré : j'ai tapé la deuxième rangée de lettres du clavier, du "q" jusqu'au "j" !

Tu découvriras le vilain code VBA qui se cache dans la macro. Tout se passe comme si l'ajout d'un mot de passe à la bibliothèque désactivait la prise en charge VBA. Comme si on retirait, à la macro, la ligne invoquant l'interpréteur VBA : Option VBASupport 1.
Évidemment, si j'avais vos connaissances en LibreOffice Basic, je ne m'embêterais pas avec du VBA. Mais étant nouvellement converti à Calc, je suis (encore) incapable de transcrire mes "vieilles" macros Excel...
J'apprécie vraiment Calc, et je l'ai adopté. Toutefois, pour la partie macros, je le trouve plus difficile d'accès qu'Excel. J'ai l'impression (sans doute parce que je suis un néophyte) que dans une macro LibO Basic, pour obtenir le même résultat qu'avec une macro VBA, il faut 2 fois plus de lignes de code...

Pour ce qui est de ton fichier, zeguedon, il fonctionne très bien, même sans connaissance du mot de passe. Précisément, je pense, parce qu'il ne contient pas de code VBA.