OVH Cloud OVH Cloud

interdire exécution Macros

1 réponse
Avatar
Greffier
Bonjour,

J'ai eu un gros incident sur mon micro, et j'ai perdu toute notre
discussion.
Aussi je viens de la recopier à partir de google.
Je ne voudrais pas avoir paru pour une personne fantaisiste, et même impolie
pour toutes les réponses que vous m'avez fournies.
Je vais donc les reprendre.

J'ai dois m'habituer maintenant à l'office 2003, qui remplace l'office 97.

J'ai donc perdu les messages hotmail du 18 au 24 avril.

Je vous remercie pour votre compréhension.

Greffier.



Bonjour,

Mon problème est le suivant, chaque semaine je transmets à un certain nombre
de clients des résultats sous formes de relevés, courbes, comparaisons ....
Jusqu'à présent je recopiais manuellement les résultats feuille par feuille
vers un classeur. Ce classeur était transmis à chacun en pièce jointe : donc
double travail, surtout pour les définitions de noms ...
Comment m'y prendre pour transmettre le classeur résultats et données sans
que les destinataires puissent utiliser les macros, ni la barre d'outils
personnelle qui me permet d'effectuer les prises en charge et les éditions.


J'ai longuement examiné le groupe mais je n'y trouve pas ma solution :
peut-être n'ai-je pas posé la bonne question.


Merci de m'apporter une réponse.


Cordialement,


Greffier.


bonjour greffier
si tes macros sont exécutées par les boutons de ta BO personnalisée,
peut-être te suffit-il de rendre ladite BO invisible à l'ouverture du
classeur par tes clients
donc dans le module Thisworkbook


Private Sub Workbook_Open()
Application.Commandbars("LeNomDeTaBO").Visible = False
End Sub


maintenant, si tes clients sont malins, ils peuvent aller voir dans
Outils/Macro/Macros et les exécuter à partir de là...
jps


Bonjour,


> maintenant, si tes clients sont malins, ils peuvent aller voir dans
> Outils/Macro/Macros et les exécuter à partir de là...


pour interdire ça, il suffit de mettre cette ligne
Application.CommandBars("Macro").Enabled = True
et pour la remettre
Application.CommandBars("Macro").Enabled = False
Amicalement
Siesting Hoax (qui part au boulot)


merci, Working Hoax, d'avoir apporté ce complément à ma réponse partielle,
pour ne pas dire spartiate...
bonne journée
au fait, greffier ne nous a toujours pas dit si, finalement, ma proc
marchait mais es-tu bien sûr de la tienne, laurent?
jps


j'aurais mieux vu cela, moi, siesting hoax :


Sub test()
With Application.CommandBars("Worksheet menu bar").Controls("&Outils")
.Controls("&Macro").Visible = False
End With
End Sub


mais bon, j'ai me suis peut-être bien livré à une 1/2 heure de tests,
laborieux, est-il besoin de le préciser, pour rien...
jps


Salut,
une solution tu mets une fonction pour tester une mot de passe dans ton
module du style


Function mot_de_passe() As Boolean
mot_de_passe = (InputBox("mot de passe") = "trucmuche")
End Function


et dans tes macros, tu testes et si le mot de passe est pas bon, on sort


Sub au_boulot()
If Not (mot_de_passe()) Then Exit Sub
ici ton code de macro
End Sub


et pour pas qu'on fouille dans tes macros tu protèges le code par un mot de
passe et zou !


@+Phil


bonjour,


J'ai essayé la méthode de jps, elle ne marche pas. La barre continue
toujours d'exister.
Je vais essayer la méthode phil. Faut-il mettre le mot de passe devant
chaque macro?


Merci .


Y-a-t-il une méthode pour interdire la demande d'activer ou non les macros :
c'est-à-dire de ne pas activer la fenêtre.


Greffier.


Salut


> Je vais essayer la méthode phil. Faut-il mettre le mot de passe devant
> chaque macro?


oui à chaque début de macro qui est appelé par tes boutons tu mets


If Not (mot_de_passe()) Then Exit Sub


comme ça si ils n'ont pas le mot de passe ça sort tout de suite de ta macro


@+Phil


bonjour greffier
tu m'étonnes beaucoup : cette proc marche du feu d'Allah chez moi


Sub test()
Application.CommandBars("Fichier Clients").Visible = False
End Sub


remplace le nom de ma barre par celui de la tienne et exécute depuis VBE ;
évidemment, tu écris cette proc dans un module de ton classeur
jps


Bonjour à tous,


Merci à tous ceux qui m'ont répondu.
Je ne vous ai pas oublié, je vous répondrai à tous.
Pour le moment je suis dans l'incapacité de tester toutes vos solutions.
Demain, ce sera chose faite.


Cordialement,


Greffier.



--
Pour me joindre, enlever les sigles VOUS:
VOUSjean-VOUSclaude.VOUSgreffier@VOUSwanadoo.fr

1 réponse

Avatar
papou
Bonjour
Personnellement je crois que le plus simple serait d'enregistrer une copie
de ton classeur après avoir supprimé macros et barres d'outils, et d'envoyer
cette copie à tes correspondants.

Cordialement
Pascal

"Greffier" a écrit dans le message de news:

Bonjour,

J'ai eu un gros incident sur mon micro, et j'ai perdu toute notre
discussion.
Aussi je viens de la recopier à partir de google.
Je ne voudrais pas avoir paru pour une personne fantaisiste, et même
impolie pour toutes les réponses que vous m'avez fournies.
Je vais donc les reprendre.

J'ai dois m'habituer maintenant à l'office 2003, qui remplace l'office 97.

J'ai donc perdu les messages hotmail du 18 au 24 avril.

Je vous remercie pour votre compréhension.

Greffier.



Bonjour,

Mon problème est le suivant, chaque semaine je transmets à un certain
nombre
de clients des résultats sous formes de relevés, courbes, comparaisons
....
Jusqu'à présent je recopiais manuellement les résultats feuille par
feuille
vers un classeur. Ce classeur était transmis à chacun en pièce jointe :
donc
double travail, surtout pour les définitions de noms ...
Comment m'y prendre pour transmettre le classeur résultats et données sans
que les destinataires puissent utiliser les macros, ni la barre d'outils
personnelle qui me permet d'effectuer les prises en charge et les
éditions.


J'ai longuement examiné le groupe mais je n'y trouve pas ma solution :
peut-être n'ai-je pas posé la bonne question.


Merci de m'apporter une réponse.


Cordialement,


Greffier.


bonjour greffier
si tes macros sont exécutées par les boutons de ta BO personnalisée,
peut-être te suffit-il de rendre ladite BO invisible à l'ouverture du
classeur par tes clients
donc dans le module Thisworkbook


Private Sub Workbook_Open()
Application.Commandbars("LeNomDeTaBO").Visible = False
End Sub


maintenant, si tes clients sont malins, ils peuvent aller voir dans
Outils/Macro/Macros et les exécuter à partir de là...
jps


Bonjour,


maintenant, si tes clients sont malins, ils peuvent aller voir dans
Outils/Macro/Macros et les exécuter à partir de là...



pour interdire ça, il suffit de mettre cette ligne
Application.CommandBars("Macro").Enabled = True
et pour la remettre
Application.CommandBars("Macro").Enabled = False
Amicalement
Siesting Hoax (qui part au boulot)


merci, Working Hoax, d'avoir apporté ce complément à ma réponse partielle,
pour ne pas dire spartiate...
bonne journée
au fait, greffier ne nous a toujours pas dit si, finalement, ma proc
marchait mais es-tu bien sûr de la tienne, laurent?
jps


j'aurais mieux vu cela, moi, siesting hoax :


Sub test()
With Application.CommandBars("Worksheet menu bar").Controls("&Outils")
.Controls("&Macro").Visible = False
End With
End Sub


mais bon, j'ai me suis peut-être bien livré à une 1/2 heure de tests,
laborieux, est-il besoin de le préciser, pour rien...
jps


Salut,
une solution tu mets une fonction pour tester une mot de passe dans ton
module du style


Function mot_de_passe() As Boolean
mot_de_passe = (InputBox("mot de passe") = "trucmuche")
End Function


et dans tes macros, tu testes et si le mot de passe est pas bon, on sort


Sub au_boulot()
If Not (mot_de_passe()) Then Exit Sub
ici ton code de macro
End Sub


et pour pas qu'on fouille dans tes macros tu protèges le code par un mot
de
passe et zou !


@+Phil


bonjour,


J'ai essayé la méthode de jps, elle ne marche pas. La barre continue
toujours d'exister.
Je vais essayer la méthode phil. Faut-il mettre le mot de passe devant
chaque macro?


Merci .


Y-a-t-il une méthode pour interdire la demande d'activer ou non les macros
:
c'est-à-dire de ne pas activer la fenêtre.


Greffier.


Salut


Je vais essayer la méthode phil. Faut-il mettre le mot de passe devant
chaque macro?



oui à chaque début de macro qui est appelé par tes boutons tu mets


If Not (mot_de_passe()) Then Exit Sub


comme ça si ils n'ont pas le mot de passe ça sort tout de suite de ta
macro


@+Phil


bonjour greffier
tu m'étonnes beaucoup : cette proc marche du feu d'Allah chez moi


Sub test()
Application.CommandBars("Fichier Clients").Visible = False
End Sub


remplace le nom de ma barre par celui de la tienne et exécute depuis VBE ;
évidemment, tu écris cette proc dans un module de ton classeur
jps


Bonjour à tous,


Merci à tous ceux qui m'ont répondu.
Je ne vous ai pas oublié, je vous répondrai à tous.
Pour le moment je suis dans l'incapacité de tester toutes vos solutions.
Demain, ce sera chose faite.


Cordialement,


Greffier.



--
Pour me joindre, enlever les sigles VOUS: