cs_scastell00
Messages postés2Date d'inscriptionlundi 16 octobre 2006StatutMembreDernière intervention16 octobre 2006
-
16 oct. 2006 à 22:14
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
16 oct. 2006 à 22:44
D'abord bonsoir à tous
Je découvre ce site et j'en profite pour vous exposer mon problème
J'ai un fichier Excel qui contient six macros VBA Macro1 à Macro6
Ce fichier s'adresse à deux groupes de personnes.
1 -
Les personnes du premier groupe ne doivent pouvoir lancer que Macro1
Ils y ont accès par un bouton placé sur la feuille
Pb : je ne sais pas comment leur interdire l'accès aux autres macros. En outre, je ne connais pas nominativement ces personnes (on ne peut pas les identifier précisément).
2 - une fois la macro terminée, ces premiers utilisateurs sauvent le fichier et l'envoient par mail à une personne du second groupe.
Cette personne doit alors pouvoir, de manière simple, désactiver la protection mise en 1 pour utiliser toutes les macros.
Je pensais à une solution type "protéger le classeur" (avec mot de passe) qui protègerait aussi l'accès aux macros mais je n'ai pas trouvé cette fonctionnalité. Elle présentait l'avantage de donner au second groupe une solution simple (= "déprotéger le classeur") pour retrouver l'accès à toutes les macros.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 16 oct. 2006 à 22:24
Salut,
tu ne peux pas protéger partiellement tes macros, soit Tout le projet est vérouillé, soit il ne l'est pas !
Une alternative : une demande de mot de passe pour l'execution de tes macros, si le mot de passe se vérifie, beh la macro se lance, sinon non.
Mais c'est à toi de coder cela !
Un truc du genre, au début de chaque macro :
Dim sPassWord As String
Dim sMyPass As String
sMyPass = "Cesame"
sPassWord = InputBox("Saisissez le mot de passe")
If sMyPass <> sPassWord Then Exit Sub ' ou Exit Function
@++
<hr width="100%" size="2" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 16 oct. 2006 à 22:44
Tu ne peux pas vraiment, en fait soit tu protèges ton projet pour empêcher les modifications, mais les macros sont visibles par tous, soit tu protèges tes macros pour qu'elles ne soient pas vus (click droit sur ton projet, dans l'éditeur vbe, puis Propriété de VBAProject) mais elles pourront être lancées.
Pour qu'elles ne soient pas exécutées, il faut, dans Excel, aller dans le menu Outils, Macros..., Sécurité, et la passer à un niveau de sécurité élevé (mais accessible par tous les utilisateurs, et donc la sécurité peut être modifiée à n'importe quel moment)
@++
<hr width="100%" size="2" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>