OVH Cloud OVH Cloud

Oubli

6 réponses
Avatar
Leonello
Bonsoir,

Comment peut on lancer une procédure PRIVATE, à partir d'un autre module ?

D'avance Merci,

Bonne année à tous,

--

Amicalement,
leo

6 réponses

Avatar
J
Bonjour
en l'appelant Public, ou en supprimant "private" , non ?
bon courage
Bonne Année
J@@


Leonello wrote:
Bonsoir,

Comment peut on lancer une procédure PRIVATE, à partir d'un autre module ?

D'avance Merci,

Bonne année à tous,



Avatar
Leonello
Bonsoir,

Gag.

Je m'était mal exprimé.

Je souhaite que la procédure soit disponible dans l'ensemble de la macro,
mais invisible depuis Excel.


--

Amicalement,
leo

"J@@" a écrit dans le message de news:
Ogjjy$
Bonjour
en l'appelant Public, ou en supprimant "private" , non ?
bon courage
Bonne Année
J@@


Leonello wrote:
Bonsoir,

Comment peut on lancer une procédure PRIVATE, à partir d'un autre module
?

D'avance Merci,

Bonne année à tous,






Avatar
jps
bonjour leonello
pas sûr d'avoir compris
si tu veux protéger ta macro et la rendre invisible dans l'environnement de
programmation (salut clément marcotte) alias VBE, tu vas voir du côté de
Outils/Propriétés de VBAProject, puis onglet Protection
jps

"Leonello" a écrit dans le message de news:
4597039b$0$5075$
Bonsoir,

Gag.

Je m'était mal exprimé.

Je souhaite que la procédure soit disponible dans l'ensemble de la macro,
mais invisible depuis Excel.


--

Amicalement,
leo

"J@@" a écrit dans le message de news:
Ogjjy$
Bonjour
en l'appelant Public, ou en supprimant "private" , non ?
bon courage
Bonne Année
J@@


Leonello wrote:
Bonsoir,

Comment peut on lancer une procédure PRIVATE, à partir d'un autre module
?

D'avance Merci,

Bonne année à tous,










Avatar
LSteph
Bonjour,
en haut

Option Private Module

Cordialement.

lSteph

Bonsoir,

Gag.

Je m'était mal exprimé.

Je souhaite que la procédure soit disponible dans l'ensemble de la macro,
mais invisible depuis Excel.




Avatar
MichDenis
Que tu utilises "Private" dans la déclaration de ta procédure, ou,
qu'en haut du module, tu as défini "Option Private", avec cette
syntaxe tu pourras appeler la macro que tu désires où elle se
retrouve dans ton classeur....

A- Si ta macro est dans un module standard
Dim LaMacro As String
LaMacro = "'" & ThisWorkbook.Name & "'!test1"
Application.Run LaMacro
N.B- Test1 -> nom de la macro à exécuter

B- Si ta macro est dans un module Feuille
Dim LaMacro As String
LaMacro = "'" & ThisWorkbook.Name & "'!Feuil1.test1"
Application.Run LaMacro

N.B- Test1 -> nom de la macro à exécuter
Feuil1 -< nom du module


Si au lieu d'utiliser le mot "Private" dans la déclaration de la macro",
pour rendre une macro non visible dans la boîte de dialogue sur les
macro à partir du raccourci F8, tu peux simplement passer un
paramètre à la procédure comme ceci :
'---------------------
Sub Toto(Optional MyVar As String)
MsgBox " Bonjour"
End Sub
'---------------------

Comme le paramètre de la procédure est optionnel, tu n'es
pas obligé de le définir pour appeler la macro. Comme ceci :

Sub test()
Toto
End Sub

Bien que le nom de la macro ne soit pas visible dans la fenêtre
des macros à partir de l'interface de la feuille de calcul, tu pourras
taper son nom si tu le désires dans la ligne du haut et demander à
Excel de exécuter







"Leonello" a écrit dans le message de news:
4596edf3$0$25929$
Bonsoir,

Comment peut on lancer une procédure PRIVATE, à partir d'un autre module ?

D'avance Merci,

Bonne année à tous,

--

Amicalement,
leo
Avatar
Leonello
Bonjour, Bonne année et bonne santé à tous,

L'année commence de superbe manière sur MPFE.

c'est exactement ce que je cherchais.

J'avais trouvé sur Excelabo, l'astuce du paramètre optionnel, mais avec
Application.Run c'est le top.

Merci à tous pour votre aide


--

Amicalement,
leo

"MichDenis" a écrit dans le message de news:
%
Que tu utilises "Private" dans la déclaration de ta procédure, ou,
qu'en haut du module, tu as défini "Option Private", avec cette
syntaxe tu pourras appeler la macro que tu désires où elle se
retrouve dans ton classeur....

A- Si ta macro est dans un module standard
Dim LaMacro As String
LaMacro = "'" & ThisWorkbook.Name & "'!test1"
Application.Run LaMacro
N.B- Test1 -> nom de la macro à exécuter

B- Si ta macro est dans un module Feuille
Dim LaMacro As String
LaMacro = "'" & ThisWorkbook.Name & "'!Feuil1.test1"
Application.Run LaMacro

N.B- Test1 -> nom de la macro à exécuter
Feuil1 -< nom du module


Si au lieu d'utiliser le mot "Private" dans la déclaration de la macro",
pour rendre une macro non visible dans la boîte de dialogue sur les
macro à partir du raccourci F8, tu peux simplement passer un
paramètre à la procédure comme ceci :
'---------------------
Sub Toto(Optional MyVar As String)
MsgBox " Bonjour"
End Sub
'---------------------

Comme le paramètre de la procédure est optionnel, tu n'es
pas obligé de le définir pour appeler la macro. Comme ceci :

Sub test()
Toto
End Sub

Bien que le nom de la macro ne soit pas visible dans la fenêtre
des macros à partir de l'interface de la feuille de calcul, tu pourras
taper son nom si tu le désires dans la ligne du haut et demander à
Excel de exécuter







"Leonello" a écrit dans le message de news:
4596edf3$0$25929$
Bonsoir,

Comment peut on lancer une procédure PRIVATE, à partir d'un autre module ?

D'avance Merci,

Bonne année à tous,

--

Amicalement,
leo