Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

interdire excécution macros

9 réponses
Avatar
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.

9 réponses

Avatar
jps
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

"Greffier" a écrit dans le message de news:
%
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.



Avatar
phil
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

"Greffier" a écrit dans le message de news:
%
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.



Avatar
Greffier
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.


"phil" a écrit dans le message de news:
4448a04b$0$474$
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

"Greffier" a écrit dans le message de news:
%
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.







Avatar
phil
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

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

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.


"phil" a écrit dans le message de news:
4448a04b$0$474$
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

"Greffier" a écrit dans le message de news:
%
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.











Avatar
jps
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

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

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.


"phil" a écrit dans le message de news:
4448a04b$0$474$
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

"Greffier" a écrit dans le message de news:
%
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.











Avatar
Sitting Hoax
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)

"jps" a écrit dans le message de news:
%
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

"Greffier" a écrit dans le message de news:
%
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.






Avatar
jps
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

"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le message
de news: %
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)

"jps" a écrit dans le message de news:
%
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

"Greffier" a écrit dans le message de news:
%
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.










Avatar
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

"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le message
de news: %
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)

"jps" a écrit dans le message de news:
%
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

"Greffier" a écrit dans le message de news:
%
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.










Avatar
Greffier
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.



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

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

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

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.


"phil" a écrit dans le message de news:
4448a04b$0$474$
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

"Greffier" a écrit dans le message de news:
%
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.