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

Empêcher d'exécuter une macro

13 réponses
Avatar
Alpha
Bonsoir,
comment faire afin d'éviter qu'un utilisateur exécute une macro avec macro
>>> macros >>> exécuter.
Merci beaucoup
Alpha

10 réponses

1 2
Avatar
ChrisV
Bonjour Alpha,

Tu peux faire précéder la macro: Sub quelquechose() par
Private Sub quelquechose()

Elle ne sera ainsi pas visible par Outils/Macro/Macros...

Sinon, tu peux toujours faire précéder les instructions de la macro par une
demande de mot de passe...

Sub protProc()
Dim rep As String
rep = InputBox("Quel est le mot magique ?")
If rep <> "bonjour" Then
MsgBox "Impossible d'exécuter la procédure " _
& "sans le mot de passe !", , "Mot de passe incorrect..."
Exit Sub
End If
'si le MdP est correct exécution du reste du code de la macro
'exemple
MsgBox "Merci, et à bientôt sur MPFE ! ;-)"
End Sub


ChrisV


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

Bonsoir,
comment faire afin d'éviter qu'un utilisateur exécute une macro avec macro
macros >>> exécuter.
Merci beaucoup



Alpha







Avatar
ChrisV
Ne pas oublier également de protéger l'accès au code par l'éditeur...
Outils/Propriétés de VBAProject/Protection


ChrisV


"ChrisV" a écrit dans le message de news:
#F5cLX#
Bonjour Alpha,

Tu peux faire précéder la macro: Sub quelquechose() par
Private Sub quelquechose()

Elle ne sera ainsi pas visible par Outils/Macro/Macros...

Sinon, tu peux toujours faire précéder les instructions de la macro par
une

demande de mot de passe...

Sub protProc()
Dim rep As String
rep = InputBox("Quel est le mot magique ?")
If rep <> "bonjour" Then
MsgBox "Impossible d'exécuter la procédure " _
& "sans le mot de passe !", , "Mot de passe incorrect..."
Exit Sub
End If
'si le MdP est correct exécution du reste du code de la macro
'exemple
MsgBox "Merci, et à bientôt sur MPFE ! ;-)"
End Sub


ChrisV


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

Bonsoir,
comment faire afin d'éviter qu'un utilisateur exécute une macro avec
macro


macros >>> exécuter.
Merci beaucoup



Alpha











Avatar
Alpha
Salut ChrisV
Ok merci beaucoup
Alpha

"ChrisV" a écrit dans le message de
news:%23F5cLX%
Bonjour Alpha,

Tu peux faire précéder la macro: Sub quelquechose() par
Private Sub quelquechose()

Elle ne sera ainsi pas visible par Outils/Macro/Macros...

Sinon, tu peux toujours faire précéder les instructions de la macro par
une

demande de mot de passe...

Sub protProc()
Dim rep As String
rep = InputBox("Quel est le mot magique ?")
If rep <> "bonjour" Then
MsgBox "Impossible d'exécuter la procédure " _
& "sans le mot de passe !", , "Mot de passe incorrect..."
Exit Sub
End If
'si le MdP est correct exécution du reste du code de la macro
'exemple
MsgBox "Merci, et à bientôt sur MPFE ! ;-)"
End Sub


ChrisV


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

Bonsoir,
comment faire afin d'éviter qu'un utilisateur exécute une macro avec
macro


macros >>> exécuter.
Merci beaucoup



Alpha











Avatar
Alpha
Merci j'avais déjà fait :-)
Alpha

"ChrisV" a écrit dans le message de
news:%23xvoRc%
Ne pas oublier également de protéger l'accès au code par l'éditeur...
Outils/Propriétés de VBAProject/Protection


ChrisV


"ChrisV" a écrit dans le message de news:
#F5cLX#
Bonjour Alpha,

Tu peux faire précéder la macro: Sub quelquechose() par
Private Sub quelquechose()

Elle ne sera ainsi pas visible par Outils/Macro/Macros...

Sinon, tu peux toujours faire précéder les instructions de la macro par
une

demande de mot de passe...

Sub protProc()
Dim rep As String
rep = InputBox("Quel est le mot magique ?")
If rep <> "bonjour" Then
MsgBox "Impossible d'exécuter la procédure " _
& "sans le mot de passe !", , "Mot de passe incorrect..."
Exit Sub
End If
'si le MdP est correct exécution du reste du code de la macro
'exemple
MsgBox "Merci, et à bientôt sur MPFE ! ;-)"
End Sub


ChrisV


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

Bonsoir,
comment faire afin d'éviter qu'un utilisateur exécute une macro avec
macro


macros >>> exécuter.
Merci beaucoup



Alpha















Avatar
Alpha
RE, comment faire pour appeler une private sub par une autre macro ?
Merci
Alpha

"ChrisV" a écrit dans le message de
news:%23F5cLX%
Bonjour Alpha,

Tu peux faire précéder la macro: Sub quelquechose() par
Private Sub quelquechose()

Elle ne sera ainsi pas visible par Outils/Macro/Macros...

Sinon, tu peux toujours faire précéder les instructions de la macro par
une

demande de mot de passe...

Sub protProc()
Dim rep As String
rep = InputBox("Quel est le mot magique ?")
If rep <> "bonjour" Then
MsgBox "Impossible d'exécuter la procédure " _
& "sans le mot de passe !", , "Mot de passe incorrect..."
Exit Sub
End If
'si le MdP est correct exécution du reste du code de la macro
'exemple
MsgBox "Merci, et à bientôt sur MPFE ! ;-)"
End Sub


ChrisV


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

Bonsoir,
comment faire afin d'éviter qu'un utilisateur exécute une macro avec
macro


macros >>> exécuter.
Merci beaucoup



Alpha











Avatar
Philippe.R
Bonjour Alpha,

Dans un même module, il n'y a pas de problème particulier ; tu peux recopier ceci dans un module pour
tester :

Private Sub essaimsg()
MsgBox "Bravo !", , "M.P.F.E."
End Sub

Sub privoupas()
essaimsg
End Sub

en revanche, depuis un autre module, seule la proc privoupas pourra être lancée, comme ceci :

Sub privautremodule()
privoupas
End Sub

mais pas essaimsg
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"Alpha" a écrit dans le message de news:
RE, comment faire pour appeler une private sub par une autre macro ?
Merci
Alpha

"ChrisV" a écrit dans le message de
news:%23F5cLX%
Bonjour Alpha,

Tu peux faire précéder la macro: Sub quelquechose() par
Private Sub quelquechose()

Elle ne sera ainsi pas visible par Outils/Macro/Macros...

Sinon, tu peux toujours faire précéder les instructions de la macro par
une

demande de mot de passe...

Sub protProc()
Dim rep As String
rep = InputBox("Quel est le mot magique ?")
If rep <> "bonjour" Then
MsgBox "Impossible d'exécuter la procédure " _
& "sans le mot de passe !", , "Mot de passe incorrect..."
Exit Sub
End If
'si le MdP est correct exécution du reste du code de la macro
'exemple
MsgBox "Merci, et à bientôt sur MPFE ! ;-)"
End Sub


ChrisV


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

Bonsoir,
comment faire afin d'éviter qu'un utilisateur exécute une macro avec
macro


macros >>> exécuter.
Merci beaucoup



Alpha















Avatar
AV
Si, si...
On peut appeler une private sub depuis un autre module :
Exemple :

Dans Module1 :
Private Sub Macro1()
MsgBox "Haaaaa"
End Sub

Dans Module2 :
Sub Macro2()
Application.Run ("Macro1")
End Sub

Si tu exécutes Macro2, elle exécute bien la Macro1

AV
Avatar
Alpha
Merci AV
Alpha

"AV" a écrit dans le message de
news:
Si, si...
On peut appeler une private sub depuis un autre module :
Exemple :

Dans Module1 :
Private Sub Macro1()
MsgBox "Haaaaa"
End Sub

Dans Module2 :
Sub Macro2()
Application.Run ("Macro1")
End Sub

Si tu exécutes Macro2, elle exécute bien la Macro1

AV





Avatar
Philippe.R
AVec mes excuses,
J'AVais oublié la syntaxe Application.Run ()
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"AV" a écrit dans le message de news:
Si, si...
On peut appeler une private sub depuis un autre module :
Exemple :

Dans Module1 :
Private Sub Macro1()
MsgBox "Haaaaa"
End Sub

Dans Module2 :
Sub Macro2()
Application.Run ("Macro1")
End Sub

Si tu exécutes Macro2, elle exécute bien la Macro1

AV





Avatar
Michel Pierron
Bonjour Alpha;
Plutôt que Private Sub, en tête du module:
Option Private Module
Les macros ne seront pas visibles et resteront accessibles en appel.
MP

"ChrisV" a écrit dans le message de
news:%23F5cLX%
Bonjour Alpha,

Tu peux faire précéder la macro: Sub quelquechose() par
Private Sub quelquechose()

Elle ne sera ainsi pas visible par Outils/Macro/Macros...

Sinon, tu peux toujours faire précéder les instructions de la macro par
une

demande de mot de passe...

Sub protProc()
Dim rep As String
rep = InputBox("Quel est le mot magique ?")
If rep <> "bonjour" Then
MsgBox "Impossible d'exécuter la procédure " _
& "sans le mot de passe !", , "Mot de passe incorrect..."
Exit Sub
End If
'si le MdP est correct exécution du reste du code de la macro
'exemple
MsgBox "Merci, et à bientôt sur MPFE ! ;-)"
End Sub


ChrisV


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

Bonsoir,
comment faire afin d'éviter qu'un utilisateur exécute une macro avec
macro


macros >>> exécuter.
Merci beaucoup



Alpha











1 2