est myvar = "CMDok_click" ?
bonjour
est il possible d'appeler une procedure avec une variable string
genre call myvar
est myvar = "CMDok_click" ?
enfin si vous voyez ce que je veus dire
merci
est myvar = "CMDok_click" ?
bonjour
est il possible d'appeler une procedure avec une variable string
genre call myvar
est myvar = "CMDok_click" ?
enfin si vous voyez ce que je veus dire
merci
est myvar = "CMDok_click" ?
bonjour
est il possible d'appeler une procedure avec une variable string
genre call myvar
est myvar = "CMDok_click" ?
enfin si vous voyez ce que je veus dire
merci
> Public Sub ShowMessage(ByVal Prompt As String, ByVal Title As String)
> Public Sub ShowMessage(ByVal Prompt As String, ByVal Title As String)
> Public Sub ShowMessage(ByVal Prompt As String, ByVal Title As String)
Salut Seb! :O)
La fonction CallByName te permet d'appeler un membre *publique* d'un objet
en fonction de son nom.. alors si tu veux appeler une fonction, elle
est membre d'un objet, elle ne peut pas être dans un module.
par exemple :
'***
'Form 1
Option Explicit
Private Sub Form_Load()
Call CallByName(Me, _
"ShowMessage", _
VbMethod, _
"Prompt", _
"Title")
End Sub
Public Sub ShowMessage(ByVal Prompt As String, ByVal Title As String)
Call MsgBox(Prompt, vbOKOnly, Title)
End Sub
'***
aussi une petite note concernant ceci :
> est myvar = "CMDok_click" ?
je te conseille plutôt de créer une fonction qui exécute le traitement
et d'appeler cette fonction aux endroits prévues au lieu d'appeler le code
d'une fonction appeler lors d'un événement... c'est une meilleure pratique
de programmation.. ça rend le code plus facile à maintenir, spécialement
tu appliques des modifications à l'interface.
Exemple :
'***
' Form1
' 2 CommandButton
Option Explicit
Private Sub Command1_Click()
Call Sauvegarder
End Sub
Private Sub Command2_Click()
Call Sauvegarder
End Sub
Public Sub Sauvegarder()
' code code code
End Sub
'***
au lieu de :
'***
Option Explicit
Private Sub Command1_Click()
Call Sauvegarder
End Sub
Private Sub Command2_Click()
Call Command1_Click
End Sub
Public Sub Sauvegarder()
' code code code
End Sub
'***
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"seb-seb" wrote in message
news:
> bonjour
> est il possible d'appeler une procedure avec une variable string
> genre call myvar
> est myvar = "CMDok_click" ?
> enfin si vous voyez ce que je veus dire
> merci
>
>
Salut Seb! :O)
La fonction CallByName te permet d'appeler un membre *publique* d'un objet
en fonction de son nom.. alors si tu veux appeler une fonction, elle
est membre d'un objet, elle ne peut pas être dans un module.
par exemple :
'***
'Form 1
Option Explicit
Private Sub Form_Load()
Call CallByName(Me, _
"ShowMessage", _
VbMethod, _
"Prompt", _
"Title")
End Sub
Public Sub ShowMessage(ByVal Prompt As String, ByVal Title As String)
Call MsgBox(Prompt, vbOKOnly, Title)
End Sub
'***
aussi une petite note concernant ceci :
> est myvar = "CMDok_click" ?
je te conseille plutôt de créer une fonction qui exécute le traitement
et d'appeler cette fonction aux endroits prévues au lieu d'appeler le code
d'une fonction appeler lors d'un événement... c'est une meilleure pratique
de programmation.. ça rend le code plus facile à maintenir, spécialement
tu appliques des modifications à l'interface.
Exemple :
'***
' Form1
' 2 CommandButton
Option Explicit
Private Sub Command1_Click()
Call Sauvegarder
End Sub
Private Sub Command2_Click()
Call Sauvegarder
End Sub
Public Sub Sauvegarder()
' code code code
End Sub
'***
au lieu de :
'***
Option Explicit
Private Sub Command1_Click()
Call Sauvegarder
End Sub
Private Sub Command2_Click()
Call Command1_Click
End Sub
Public Sub Sauvegarder()
' code code code
End Sub
'***
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"seb-seb" <sperot51@msn.com> wrote in message
news:e9dpasP4DHA.3104@TK2MSFTNGP11.phx.gbl...
> bonjour
> est il possible d'appeler une procedure avec une variable string
> genre call myvar
> est myvar = "CMDok_click" ?
> enfin si vous voyez ce que je veus dire
> merci
>
>
Salut Seb! :O)
La fonction CallByName te permet d'appeler un membre *publique* d'un objet
en fonction de son nom.. alors si tu veux appeler une fonction, elle
est membre d'un objet, elle ne peut pas être dans un module.
par exemple :
'***
'Form 1
Option Explicit
Private Sub Form_Load()
Call CallByName(Me, _
"ShowMessage", _
VbMethod, _
"Prompt", _
"Title")
End Sub
Public Sub ShowMessage(ByVal Prompt As String, ByVal Title As String)
Call MsgBox(Prompt, vbOKOnly, Title)
End Sub
'***
aussi une petite note concernant ceci :
> est myvar = "CMDok_click" ?
je te conseille plutôt de créer une fonction qui exécute le traitement
et d'appeler cette fonction aux endroits prévues au lieu d'appeler le code
d'une fonction appeler lors d'un événement... c'est une meilleure pratique
de programmation.. ça rend le code plus facile à maintenir, spécialement
tu appliques des modifications à l'interface.
Exemple :
'***
' Form1
' 2 CommandButton
Option Explicit
Private Sub Command1_Click()
Call Sauvegarder
End Sub
Private Sub Command2_Click()
Call Sauvegarder
End Sub
Public Sub Sauvegarder()
' code code code
End Sub
'***
au lieu de :
'***
Option Explicit
Private Sub Command1_Click()
Call Sauvegarder
End Sub
Private Sub Command2_Click()
Call Command1_Click
End Sub
Public Sub Sauvegarder()
' code code code
End Sub
'***
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"seb-seb" wrote in message
news:
> bonjour
> est il possible d'appeler une procedure avec une variable string
> genre call myvar
> est myvar = "CMDok_click" ?
> enfin si vous voyez ce que je veus dire
> merci
>
>
j'ai rien compris de ce que tu me raconte
alors je vais etre plus concret
en gros j'ai form1 et form2
form1 appele une procedure publique de form2 en lui passant comme
un nom de procedure publique contenu dans form1
et form2 quand elle en a envie va executer un call myvar (string)
et je veux savoir si on peut donc faire ca car ca m'aiderai niveau
evolutivité du programme
merci
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news:%
> Salut Seb! :O)
>
> La fonction CallByName te permet d'appeler un membre *publique* d'un
> en fonction de son nom.. alors si tu veux appeler une fonction, elle
*doit*
> est membre d'un objet, elle ne peut pas être dans un module.
>
> par exemple :
> '***
> 'Form 1
> Option Explicit
>
> Private Sub Form_Load()
> Call CallByName(Me, _
> "ShowMessage", _
> VbMethod, _
> "Prompt", _
> "Title")
> End Sub
>
> Public Sub ShowMessage(ByVal Prompt As String, ByVal Title As String)
> Call MsgBox(Prompt, vbOKOnly, Title)
> End Sub
> '***
>
> aussi une petite note concernant ceci :
> > est myvar = "CMDok_click" ?
>
> je te conseille plutôt de créer une fonction qui exécute le traitement
voulu
> et d'appeler cette fonction aux endroits prévues au lieu d'appeler le
> d'une fonction appeler lors d'un événement... c'est une meilleure
> de programmation.. ça rend le code plus facile à maintenir, spécialement
si
> tu appliques des modifications à l'interface.
>
> Exemple :
> '***
> ' Form1
> ' 2 CommandButton
> Option Explicit
>
> Private Sub Command1_Click()
> Call Sauvegarder
> End Sub
>
> Private Sub Command2_Click()
> Call Sauvegarder
> End Sub
>
> Public Sub Sauvegarder()
> ' code code code
> End Sub
> '***
>
> au lieu de :
> '***
> Option Explicit
>
> Private Sub Command1_Click()
> Call Sauvegarder
> End Sub
>
> Private Sub Command2_Click()
> Call Command1_Click
> End Sub
>
> Public Sub Sauvegarder()
> ' code code code
> End Sub
> '***
>
> --
> Cordialement
> Yanick Lefebvre - MVP pour Visual Basic
> http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
> http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
>
> Merci de poster les réponses au groupe afin d'en faire profiter à tous
> "seb-seb" wrote in message
> news:
> > bonjour
> > est il possible d'appeler une procedure avec une variable string
> > genre call myvar
> > est myvar = "CMDok_click" ?
> > enfin si vous voyez ce que je veus dire
> > merci
> >
> >
>
>
j'ai rien compris de ce que tu me raconte
alors je vais etre plus concret
en gros j'ai form1 et form2
form1 appele une procedure publique de form2 en lui passant comme
un nom de procedure publique contenu dans form1
et form2 quand elle en a envie va executer un call myvar (string)
et je veux savoir si on peut donc faire ca car ca m'aiderai niveau
evolutivité du programme
merci
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news:%23ddaC7P4DHA.1868@TK2MSFTNGP10.phx.gbl...
> Salut Seb! :O)
>
> La fonction CallByName te permet d'appeler un membre *publique* d'un
> en fonction de son nom.. alors si tu veux appeler une fonction, elle
*doit*
> est membre d'un objet, elle ne peut pas être dans un module.
>
> par exemple :
> '***
> 'Form 1
> Option Explicit
>
> Private Sub Form_Load()
> Call CallByName(Me, _
> "ShowMessage", _
> VbMethod, _
> "Prompt", _
> "Title")
> End Sub
>
> Public Sub ShowMessage(ByVal Prompt As String, ByVal Title As String)
> Call MsgBox(Prompt, vbOKOnly, Title)
> End Sub
> '***
>
> aussi une petite note concernant ceci :
> > est myvar = "CMDok_click" ?
>
> je te conseille plutôt de créer une fonction qui exécute le traitement
voulu
> et d'appeler cette fonction aux endroits prévues au lieu d'appeler le
> d'une fonction appeler lors d'un événement... c'est une meilleure
> de programmation.. ça rend le code plus facile à maintenir, spécialement
si
> tu appliques des modifications à l'interface.
>
> Exemple :
> '***
> ' Form1
> ' 2 CommandButton
> Option Explicit
>
> Private Sub Command1_Click()
> Call Sauvegarder
> End Sub
>
> Private Sub Command2_Click()
> Call Sauvegarder
> End Sub
>
> Public Sub Sauvegarder()
> ' code code code
> End Sub
> '***
>
> au lieu de :
> '***
> Option Explicit
>
> Private Sub Command1_Click()
> Call Sauvegarder
> End Sub
>
> Private Sub Command2_Click()
> Call Command1_Click
> End Sub
>
> Public Sub Sauvegarder()
> ' code code code
> End Sub
> '***
>
> --
> Cordialement
> Yanick Lefebvre - MVP pour Visual Basic
> http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
> http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
>
> Merci de poster les réponses au groupe afin d'en faire profiter à tous
> "seb-seb" <sperot51@msn.com> wrote in message
> news:e9dpasP4DHA.3104@TK2MSFTNGP11.phx.gbl...
> > bonjour
> > est il possible d'appeler une procedure avec une variable string
> > genre call myvar
> > est myvar = "CMDok_click" ?
> > enfin si vous voyez ce que je veus dire
> > merci
> >
> >
>
>
j'ai rien compris de ce que tu me raconte
alors je vais etre plus concret
en gros j'ai form1 et form2
form1 appele une procedure publique de form2 en lui passant comme
un nom de procedure publique contenu dans form1
et form2 quand elle en a envie va executer un call myvar (string)
et je veux savoir si on peut donc faire ca car ca m'aiderai niveau
evolutivité du programme
merci
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news:%
> Salut Seb! :O)
>
> La fonction CallByName te permet d'appeler un membre *publique* d'un
> en fonction de son nom.. alors si tu veux appeler une fonction, elle
*doit*
> est membre d'un objet, elle ne peut pas être dans un module.
>
> par exemple :
> '***
> 'Form 1
> Option Explicit
>
> Private Sub Form_Load()
> Call CallByName(Me, _
> "ShowMessage", _
> VbMethod, _
> "Prompt", _
> "Title")
> End Sub
>
> Public Sub ShowMessage(ByVal Prompt As String, ByVal Title As String)
> Call MsgBox(Prompt, vbOKOnly, Title)
> End Sub
> '***
>
> aussi une petite note concernant ceci :
> > est myvar = "CMDok_click" ?
>
> je te conseille plutôt de créer une fonction qui exécute le traitement
voulu
> et d'appeler cette fonction aux endroits prévues au lieu d'appeler le
> d'une fonction appeler lors d'un événement... c'est une meilleure
> de programmation.. ça rend le code plus facile à maintenir, spécialement
si
> tu appliques des modifications à l'interface.
>
> Exemple :
> '***
> ' Form1
> ' 2 CommandButton
> Option Explicit
>
> Private Sub Command1_Click()
> Call Sauvegarder
> End Sub
>
> Private Sub Command2_Click()
> Call Sauvegarder
> End Sub
>
> Public Sub Sauvegarder()
> ' code code code
> End Sub
> '***
>
> au lieu de :
> '***
> Option Explicit
>
> Private Sub Command1_Click()
> Call Sauvegarder
> End Sub
>
> Private Sub Command2_Click()
> Call Command1_Click
> End Sub
>
> Public Sub Sauvegarder()
> ' code code code
> End Sub
> '***
>
> --
> Cordialement
> Yanick Lefebvre - MVP pour Visual Basic
> http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
> http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
>
> Merci de poster les réponses au groupe afin d'en faire profiter à tous
> "seb-seb" wrote in message
> news:
> > bonjour
> > est il possible d'appeler une procedure avec une variable string
> > genre call myvar
> > est myvar = "CMDok_click" ?
> > enfin si vous voyez ce que je veus dire
> > merci
> >
> >
>
>
Voici un exemple qui correspond plus à ta situation, en espérant que ce
moins nébuleux à comprendre.. mais je dois t'avouer que je trouve ta
conception assez spéciale.. ;O)
Démarre toi un projet avec 2 formulaires
'***
' Form1
' 1 CommandButton (assez gros)
Option Explicit
Private Sub Command1_Click()
Call Form2.Show
Call Form2.InitFunctionCall(Me, "ShowMessage")
End Sub
Private Sub Form_Load()
Command1.Caption = "Afficher et appeler la fonction publique de Form2"
End Sub
Public Sub ShowMessage(ByRef Prompt As String, ByRef Title As String)
Call MsgBox(Prompt, vbOKOnly, Title)
End Sub
'***
'***
' Form2
' 1 CommandButton (assez gros)
Option Explicit
Private m_obj As Object
Private m_sProcName As String
Public Sub InitFunctionCall(ByRef Object As Object, ByRef ProcName As
String)
Set m_obj = Object
m_sProcName = ProcName
End Sub
Private Sub Command1_Click()
If (Not m_obj Is Nothing And LenB(m_sProcName) > 0) Then
Call CallByName(m_obj, m_sProcName, VbMethod, "Salut tous le
"Test de CallByName")
End If
End Sub
Private Sub Form_Load()
Command1.Caption = "Appeler la procédure publique de Form1 (celle reçu
en paramètre)"
End Sub
'***
Exécute le en pas à pas si tu n'arrive pas à comprendre ce qui se passe...
si tu as d'autres questions n'hésite pas.
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"seb-seb" wrote in message
news:OmZMb%
> j'ai rien compris de ce que tu me raconte
>
> alors je vais etre plus concret
> en gros j'ai form1 et form2
> form1 appele une procedure publique de form2 en lui passant comme
parametre
> un nom de procedure publique contenu dans form1
> et form2 quand elle en a envie va executer un call myvar (string)
> et je veux savoir si on peut donc faire ca car ca m'aiderai niveau
> evolutivité du programme
>
> merci
>
>
> "Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
> news:%
> > Salut Seb! :O)
> >
> > La fonction CallByName te permet d'appeler un membre *publique* d'un
objet
> > en fonction de son nom.. alors si tu veux appeler une fonction, elle
> *doit*
> > est membre d'un objet, elle ne peut pas être dans un module.
> >
> > par exemple :
> > '***
> > 'Form 1
> > Option Explicit
> >
> > Private Sub Form_Load()
> > Call CallByName(Me, _
> > "ShowMessage", _
> > VbMethod, _
> > "Prompt", _
> > "Title")
> > End Sub
> >
> > Public Sub ShowMessage(ByVal Prompt As String, ByVal Title As String)
> > Call MsgBox(Prompt, vbOKOnly, Title)
> > End Sub
> > '***
> >
> > aussi une petite note concernant ceci :
> > > est myvar = "CMDok_click" ?
> >
> > je te conseille plutôt de créer une fonction qui exécute le traitement
> voulu
> > et d'appeler cette fonction aux endroits prévues au lieu d'appeler le
code
> > d'une fonction appeler lors d'un événement... c'est une meilleure
pratique
> > de programmation.. ça rend le code plus facile à maintenir,
> si
> > tu appliques des modifications à l'interface.
> >
> > Exemple :
> > '***
> > ' Form1
> > ' 2 CommandButton
> > Option Explicit
> >
> > Private Sub Command1_Click()
> > Call Sauvegarder
> > End Sub
> >
> > Private Sub Command2_Click()
> > Call Sauvegarder
> > End Sub
> >
> > Public Sub Sauvegarder()
> > ' code code code
> > End Sub
> > '***
> >
> > au lieu de :
> > '***
> > Option Explicit
> >
> > Private Sub Command1_Click()
> > Call Sauvegarder
> > End Sub
> >
> > Private Sub Command2_Click()
> > Call Command1_Click
> > End Sub
> >
> > Public Sub Sauvegarder()
> > ' code code code
> > End Sub
> > '***
> >
> > --
> > Cordialement
> > Yanick Lefebvre - MVP pour Visual Basic
> > http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
> > http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
> >
> > Merci de poster les réponses au groupe afin d'en faire profiter à tous
> > "seb-seb" wrote in message
> > news:
> > > bonjour
> > > est il possible d'appeler une procedure avec une variable string
> > > genre call myvar
> > > est myvar = "CMDok_click" ?
> > > enfin si vous voyez ce que je veus dire
> > > merci
> > >
> > >
> >
> >
>
>
Voici un exemple qui correspond plus à ta situation, en espérant que ce
moins nébuleux à comprendre.. mais je dois t'avouer que je trouve ta
conception assez spéciale.. ;O)
Démarre toi un projet avec 2 formulaires
'***
' Form1
' 1 CommandButton (assez gros)
Option Explicit
Private Sub Command1_Click()
Call Form2.Show
Call Form2.InitFunctionCall(Me, "ShowMessage")
End Sub
Private Sub Form_Load()
Command1.Caption = "Afficher et appeler la fonction publique de Form2"
End Sub
Public Sub ShowMessage(ByRef Prompt As String, ByRef Title As String)
Call MsgBox(Prompt, vbOKOnly, Title)
End Sub
'***
'***
' Form2
' 1 CommandButton (assez gros)
Option Explicit
Private m_obj As Object
Private m_sProcName As String
Public Sub InitFunctionCall(ByRef Object As Object, ByRef ProcName As
String)
Set m_obj = Object
m_sProcName = ProcName
End Sub
Private Sub Command1_Click()
If (Not m_obj Is Nothing And LenB(m_sProcName) > 0) Then
Call CallByName(m_obj, m_sProcName, VbMethod, "Salut tous le
"Test de CallByName")
End If
End Sub
Private Sub Form_Load()
Command1.Caption = "Appeler la procédure publique de Form1 (celle reçu
en paramètre)"
End Sub
'***
Exécute le en pas à pas si tu n'arrive pas à comprendre ce qui se passe...
si tu as d'autres questions n'hésite pas.
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"seb-seb" <sperot51@msn.com> wrote in message
news:OmZMb%23P4DHA.1868@TK2MSFTNGP10.phx.gbl...
> j'ai rien compris de ce que tu me raconte
>
> alors je vais etre plus concret
> en gros j'ai form1 et form2
> form1 appele une procedure publique de form2 en lui passant comme
parametre
> un nom de procedure publique contenu dans form1
> et form2 quand elle en a envie va executer un call myvar (string)
> et je veux savoir si on peut donc faire ca car ca m'aiderai niveau
> evolutivité du programme
>
> merci
>
>
> "Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
> news:%23ddaC7P4DHA.1868@TK2MSFTNGP10.phx.gbl...
> > Salut Seb! :O)
> >
> > La fonction CallByName te permet d'appeler un membre *publique* d'un
objet
> > en fonction de son nom.. alors si tu veux appeler une fonction, elle
> *doit*
> > est membre d'un objet, elle ne peut pas être dans un module.
> >
> > par exemple :
> > '***
> > 'Form 1
> > Option Explicit
> >
> > Private Sub Form_Load()
> > Call CallByName(Me, _
> > "ShowMessage", _
> > VbMethod, _
> > "Prompt", _
> > "Title")
> > End Sub
> >
> > Public Sub ShowMessage(ByVal Prompt As String, ByVal Title As String)
> > Call MsgBox(Prompt, vbOKOnly, Title)
> > End Sub
> > '***
> >
> > aussi une petite note concernant ceci :
> > > est myvar = "CMDok_click" ?
> >
> > je te conseille plutôt de créer une fonction qui exécute le traitement
> voulu
> > et d'appeler cette fonction aux endroits prévues au lieu d'appeler le
code
> > d'une fonction appeler lors d'un événement... c'est une meilleure
pratique
> > de programmation.. ça rend le code plus facile à maintenir,
> si
> > tu appliques des modifications à l'interface.
> >
> > Exemple :
> > '***
> > ' Form1
> > ' 2 CommandButton
> > Option Explicit
> >
> > Private Sub Command1_Click()
> > Call Sauvegarder
> > End Sub
> >
> > Private Sub Command2_Click()
> > Call Sauvegarder
> > End Sub
> >
> > Public Sub Sauvegarder()
> > ' code code code
> > End Sub
> > '***
> >
> > au lieu de :
> > '***
> > Option Explicit
> >
> > Private Sub Command1_Click()
> > Call Sauvegarder
> > End Sub
> >
> > Private Sub Command2_Click()
> > Call Command1_Click
> > End Sub
> >
> > Public Sub Sauvegarder()
> > ' code code code
> > End Sub
> > '***
> >
> > --
> > Cordialement
> > Yanick Lefebvre - MVP pour Visual Basic
> > http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
> > http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
> >
> > Merci de poster les réponses au groupe afin d'en faire profiter à tous
> > "seb-seb" <sperot51@msn.com> wrote in message
> > news:e9dpasP4DHA.3104@TK2MSFTNGP11.phx.gbl...
> > > bonjour
> > > est il possible d'appeler une procedure avec une variable string
> > > genre call myvar
> > > est myvar = "CMDok_click" ?
> > > enfin si vous voyez ce que je veus dire
> > > merci
> > >
> > >
> >
> >
>
>
Voici un exemple qui correspond plus à ta situation, en espérant que ce
moins nébuleux à comprendre.. mais je dois t'avouer que je trouve ta
conception assez spéciale.. ;O)
Démarre toi un projet avec 2 formulaires
'***
' Form1
' 1 CommandButton (assez gros)
Option Explicit
Private Sub Command1_Click()
Call Form2.Show
Call Form2.InitFunctionCall(Me, "ShowMessage")
End Sub
Private Sub Form_Load()
Command1.Caption = "Afficher et appeler la fonction publique de Form2"
End Sub
Public Sub ShowMessage(ByRef Prompt As String, ByRef Title As String)
Call MsgBox(Prompt, vbOKOnly, Title)
End Sub
'***
'***
' Form2
' 1 CommandButton (assez gros)
Option Explicit
Private m_obj As Object
Private m_sProcName As String
Public Sub InitFunctionCall(ByRef Object As Object, ByRef ProcName As
String)
Set m_obj = Object
m_sProcName = ProcName
End Sub
Private Sub Command1_Click()
If (Not m_obj Is Nothing And LenB(m_sProcName) > 0) Then
Call CallByName(m_obj, m_sProcName, VbMethod, "Salut tous le
"Test de CallByName")
End If
End Sub
Private Sub Form_Load()
Command1.Caption = "Appeler la procédure publique de Form1 (celle reçu
en paramètre)"
End Sub
'***
Exécute le en pas à pas si tu n'arrive pas à comprendre ce qui se passe...
si tu as d'autres questions n'hésite pas.
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"seb-seb" wrote in message
news:OmZMb%
> j'ai rien compris de ce que tu me raconte
>
> alors je vais etre plus concret
> en gros j'ai form1 et form2
> form1 appele une procedure publique de form2 en lui passant comme
parametre
> un nom de procedure publique contenu dans form1
> et form2 quand elle en a envie va executer un call myvar (string)
> et je veux savoir si on peut donc faire ca car ca m'aiderai niveau
> evolutivité du programme
>
> merci
>
>
> "Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
> news:%
> > Salut Seb! :O)
> >
> > La fonction CallByName te permet d'appeler un membre *publique* d'un
objet
> > en fonction de son nom.. alors si tu veux appeler une fonction, elle
> *doit*
> > est membre d'un objet, elle ne peut pas être dans un module.
> >
> > par exemple :
> > '***
> > 'Form 1
> > Option Explicit
> >
> > Private Sub Form_Load()
> > Call CallByName(Me, _
> > "ShowMessage", _
> > VbMethod, _
> > "Prompt", _
> > "Title")
> > End Sub
> >
> > Public Sub ShowMessage(ByVal Prompt As String, ByVal Title As String)
> > Call MsgBox(Prompt, vbOKOnly, Title)
> > End Sub
> > '***
> >
> > aussi une petite note concernant ceci :
> > > est myvar = "CMDok_click" ?
> >
> > je te conseille plutôt de créer une fonction qui exécute le traitement
> voulu
> > et d'appeler cette fonction aux endroits prévues au lieu d'appeler le
code
> > d'une fonction appeler lors d'un événement... c'est une meilleure
pratique
> > de programmation.. ça rend le code plus facile à maintenir,
> si
> > tu appliques des modifications à l'interface.
> >
> > Exemple :
> > '***
> > ' Form1
> > ' 2 CommandButton
> > Option Explicit
> >
> > Private Sub Command1_Click()
> > Call Sauvegarder
> > End Sub
> >
> > Private Sub Command2_Click()
> > Call Sauvegarder
> > End Sub
> >
> > Public Sub Sauvegarder()
> > ' code code code
> > End Sub
> > '***
> >
> > au lieu de :
> > '***
> > Option Explicit
> >
> > Private Sub Command1_Click()
> > Call Sauvegarder
> > End Sub
> >
> > Private Sub Command2_Click()
> > Call Command1_Click
> > End Sub
> >
> > Public Sub Sauvegarder()
> > ' code code code
> > End Sub
> > '***
> >
> > --
> > Cordialement
> > Yanick Lefebvre - MVP pour Visual Basic
> > http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
> > http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
> >
> > Merci de poster les réponses au groupe afin d'en faire profiter à tous
> > "seb-seb" wrote in message
> > news:
> > > bonjour
> > > est il possible d'appeler une procedure avec une variable string
> > > genre call myvar
> > > est myvar = "CMDok_click" ?
> > > enfin si vous voyez ce que je veus dire
> > > merci
> > >
> > >
> >
> >
>
>
je n'ai fait que la lire
et apparament c ca que je voulais
en fait c'est le callbyname plus precisement
bien le merci
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message
de news:%Voici un exemple qui correspond plus à ta situation, en espérant que
ce soit moins nébuleux à comprendre.. mais je dois t'avouer que je
trouve ta conception assez spéciale.. ;O)
Démarre toi un projet avec 2 formulaires
'***
' Form1
' 1 CommandButton (assez gros)
Option Explicit
Private Sub Command1_Click()
Call Form2.Show
Call Form2.InitFunctionCall(Me, "ShowMessage")
End Sub
Private Sub Form_Load()
Command1.Caption = "Afficher et appeler la fonction publique de
Form2"
End Sub
Public Sub ShowMessage(ByRef Prompt As String, ByRef Title As String)
Call MsgBox(Prompt, vbOKOnly, Title)
End Sub
'***
'***
' Form2
' 1 CommandButton (assez gros)
Option Explicit
Private m_obj As Object
Private m_sProcName As String
Public Sub InitFunctionCall(ByRef Object As Object, ByRef ProcName As
String)
Set m_obj = Object
m_sProcName = ProcName
End Sub
Private Sub Command1_Click()
If (Not m_obj Is Nothing And LenB(m_sProcName) > 0) Then
Call CallByName(m_obj, m_sProcName, VbMethod, "Salut tous le
monde", "Test de CallByName")
End If
End Sub
Private Sub Form_Load()
Command1.Caption = "Appeler la procédure publique de Form1
(celle reçu en paramètre)"
End Sub
'***
Exécute le en pas à pas si tu n'arrive pas à comprendre ce qui se
passe... si tu as d'autres questions n'hésite pas.
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml -
http://www.mztools.com/
Merci de poster les réponses au groupe afin d'en faire profiter à
tous "seb-seb" wrote in message
news:OmZMb%j'ai rien compris de ce que tu me raconte
alors je vais etre plus concret
en gros j'ai form1 et form2
form1 appele une procedure publique de form2 en lui passant comme
parametre un nom de procedure publique contenu dans form1
et form2 quand elle en a envie va executer un call myvar (string)
et je veux savoir si on peut donc faire ca car ca m'aiderai niveau
evolutivité du programme
merci
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le
message de news:%Salut Seb! :O)
La fonction CallByName te permet d'appeler un membre *publique*
d'un objet en fonction de son nom.. alors si tu veux appeler une
fonction, elle *doit* est membre d'un objet, elle ne peut pas être
dans un module.
par exemple :
'***
'Form 1
Option Explicit
Private Sub Form_Load()
Call CallByName(Me, _
"ShowMessage", _
VbMethod, _
"Prompt", _
"Title")
End Sub
Public Sub ShowMessage(ByVal Prompt As String, ByVal Title As
String) Call MsgBox(Prompt, vbOKOnly, Title)
End Sub
'***
aussi une petite note concernant ceci :est myvar = "CMDok_click" ?
je te conseille plutôt de créer une fonction qui exécute le
traitement voulu et d'appeler cette fonction aux endroits prévues
au lieu d'appeler le code d'une fonction appeler lors d'un
événement... c'est une meilleure pratique de programmation.. ça
rend le code plus facile à maintenir, spécialement si tu appliques
des modifications à l'interface.
Exemple :
'***
' Form1
' 2 CommandButton
Option Explicit
Private Sub Command1_Click()
Call Sauvegarder
End Sub
Private Sub Command2_Click()
Call Sauvegarder
End Sub
Public Sub Sauvegarder()
' code code code
End Sub
'***
au lieu de :
'***
Option Explicit
Private Sub Command1_Click()
Call Sauvegarder
End Sub
Private Sub Command2_Click()
Call Command1_Click
End Sub
Public Sub Sauvegarder()
' code code code
End Sub
'***
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml -
http://www.mztools.com/
Merci de poster les réponses au groupe afin d'en faire profiter à
tous "seb-seb" wrote in message
news:bonjour
est il possible d'appeler une procedure avec une variable string
genre call myvar
est myvar = "CMDok_click" ?
enfin si vous voyez ce que je veus dire
merci
je n'ai fait que la lire
et apparament c ca que je voulais
en fait c'est le callbyname plus precisement
bien le merci
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message
de news:%23Mb4sHQ4DHA.1272@TK2MSFTNGP11.phx.gbl...
Voici un exemple qui correspond plus à ta situation, en espérant que
ce soit moins nébuleux à comprendre.. mais je dois t'avouer que je
trouve ta conception assez spéciale.. ;O)
Démarre toi un projet avec 2 formulaires
'***
' Form1
' 1 CommandButton (assez gros)
Option Explicit
Private Sub Command1_Click()
Call Form2.Show
Call Form2.InitFunctionCall(Me, "ShowMessage")
End Sub
Private Sub Form_Load()
Command1.Caption = "Afficher et appeler la fonction publique de
Form2"
End Sub
Public Sub ShowMessage(ByRef Prompt As String, ByRef Title As String)
Call MsgBox(Prompt, vbOKOnly, Title)
End Sub
'***
'***
' Form2
' 1 CommandButton (assez gros)
Option Explicit
Private m_obj As Object
Private m_sProcName As String
Public Sub InitFunctionCall(ByRef Object As Object, ByRef ProcName As
String)
Set m_obj = Object
m_sProcName = ProcName
End Sub
Private Sub Command1_Click()
If (Not m_obj Is Nothing And LenB(m_sProcName) > 0) Then
Call CallByName(m_obj, m_sProcName, VbMethod, "Salut tous le
monde", "Test de CallByName")
End If
End Sub
Private Sub Form_Load()
Command1.Caption = "Appeler la procédure publique de Form1
(celle reçu en paramètre)"
End Sub
'***
Exécute le en pas à pas si tu n'arrive pas à comprendre ce qui se
passe... si tu as d'autres questions n'hésite pas.
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml -
http://www.mztools.com/
Merci de poster les réponses au groupe afin d'en faire profiter à
tous "seb-seb" <sperot51@msn.com> wrote in message
news:OmZMb%23P4DHA.1868@TK2MSFTNGP10.phx.gbl...
j'ai rien compris de ce que tu me raconte
alors je vais etre plus concret
en gros j'ai form1 et form2
form1 appele une procedure publique de form2 en lui passant comme
parametre un nom de procedure publique contenu dans form1
et form2 quand elle en a envie va executer un call myvar (string)
et je veux savoir si on peut donc faire ca car ca m'aiderai niveau
evolutivité du programme
merci
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le
message de news:%23ddaC7P4DHA.1868@TK2MSFTNGP10.phx.gbl...
Salut Seb! :O)
La fonction CallByName te permet d'appeler un membre *publique*
d'un objet en fonction de son nom.. alors si tu veux appeler une
fonction, elle *doit* est membre d'un objet, elle ne peut pas être
dans un module.
par exemple :
'***
'Form 1
Option Explicit
Private Sub Form_Load()
Call CallByName(Me, _
"ShowMessage", _
VbMethod, _
"Prompt", _
"Title")
End Sub
Public Sub ShowMessage(ByVal Prompt As String, ByVal Title As
String) Call MsgBox(Prompt, vbOKOnly, Title)
End Sub
'***
aussi une petite note concernant ceci :
est myvar = "CMDok_click" ?
je te conseille plutôt de créer une fonction qui exécute le
traitement voulu et d'appeler cette fonction aux endroits prévues
au lieu d'appeler le code d'une fonction appeler lors d'un
événement... c'est une meilleure pratique de programmation.. ça
rend le code plus facile à maintenir, spécialement si tu appliques
des modifications à l'interface.
Exemple :
'***
' Form1
' 2 CommandButton
Option Explicit
Private Sub Command1_Click()
Call Sauvegarder
End Sub
Private Sub Command2_Click()
Call Sauvegarder
End Sub
Public Sub Sauvegarder()
' code code code
End Sub
'***
au lieu de :
'***
Option Explicit
Private Sub Command1_Click()
Call Sauvegarder
End Sub
Private Sub Command2_Click()
Call Command1_Click
End Sub
Public Sub Sauvegarder()
' code code code
End Sub
'***
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml -
http://www.mztools.com/
Merci de poster les réponses au groupe afin d'en faire profiter à
tous "seb-seb" <sperot51@msn.com> wrote in message
news:e9dpasP4DHA.3104@TK2MSFTNGP11.phx.gbl...
bonjour
est il possible d'appeler une procedure avec une variable string
genre call myvar
est myvar = "CMDok_click" ?
enfin si vous voyez ce que je veus dire
merci
je n'ai fait que la lire
et apparament c ca que je voulais
en fait c'est le callbyname plus precisement
bien le merci
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message
de news:%Voici un exemple qui correspond plus à ta situation, en espérant que
ce soit moins nébuleux à comprendre.. mais je dois t'avouer que je
trouve ta conception assez spéciale.. ;O)
Démarre toi un projet avec 2 formulaires
'***
' Form1
' 1 CommandButton (assez gros)
Option Explicit
Private Sub Command1_Click()
Call Form2.Show
Call Form2.InitFunctionCall(Me, "ShowMessage")
End Sub
Private Sub Form_Load()
Command1.Caption = "Afficher et appeler la fonction publique de
Form2"
End Sub
Public Sub ShowMessage(ByRef Prompt As String, ByRef Title As String)
Call MsgBox(Prompt, vbOKOnly, Title)
End Sub
'***
'***
' Form2
' 1 CommandButton (assez gros)
Option Explicit
Private m_obj As Object
Private m_sProcName As String
Public Sub InitFunctionCall(ByRef Object As Object, ByRef ProcName As
String)
Set m_obj = Object
m_sProcName = ProcName
End Sub
Private Sub Command1_Click()
If (Not m_obj Is Nothing And LenB(m_sProcName) > 0) Then
Call CallByName(m_obj, m_sProcName, VbMethod, "Salut tous le
monde", "Test de CallByName")
End If
End Sub
Private Sub Form_Load()
Command1.Caption = "Appeler la procédure publique de Form1
(celle reçu en paramètre)"
End Sub
'***
Exécute le en pas à pas si tu n'arrive pas à comprendre ce qui se
passe... si tu as d'autres questions n'hésite pas.
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml -
http://www.mztools.com/
Merci de poster les réponses au groupe afin d'en faire profiter à
tous "seb-seb" wrote in message
news:OmZMb%j'ai rien compris de ce que tu me raconte
alors je vais etre plus concret
en gros j'ai form1 et form2
form1 appele une procedure publique de form2 en lui passant comme
parametre un nom de procedure publique contenu dans form1
et form2 quand elle en a envie va executer un call myvar (string)
et je veux savoir si on peut donc faire ca car ca m'aiderai niveau
evolutivité du programme
merci
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le
message de news:%Salut Seb! :O)
La fonction CallByName te permet d'appeler un membre *publique*
d'un objet en fonction de son nom.. alors si tu veux appeler une
fonction, elle *doit* est membre d'un objet, elle ne peut pas être
dans un module.
par exemple :
'***
'Form 1
Option Explicit
Private Sub Form_Load()
Call CallByName(Me, _
"ShowMessage", _
VbMethod, _
"Prompt", _
"Title")
End Sub
Public Sub ShowMessage(ByVal Prompt As String, ByVal Title As
String) Call MsgBox(Prompt, vbOKOnly, Title)
End Sub
'***
aussi une petite note concernant ceci :est myvar = "CMDok_click" ?
je te conseille plutôt de créer une fonction qui exécute le
traitement voulu et d'appeler cette fonction aux endroits prévues
au lieu d'appeler le code d'une fonction appeler lors d'un
événement... c'est une meilleure pratique de programmation.. ça
rend le code plus facile à maintenir, spécialement si tu appliques
des modifications à l'interface.
Exemple :
'***
' Form1
' 2 CommandButton
Option Explicit
Private Sub Command1_Click()
Call Sauvegarder
End Sub
Private Sub Command2_Click()
Call Sauvegarder
End Sub
Public Sub Sauvegarder()
' code code code
End Sub
'***
au lieu de :
'***
Option Explicit
Private Sub Command1_Click()
Call Sauvegarder
End Sub
Private Sub Command2_Click()
Call Command1_Click
End Sub
Public Sub Sauvegarder()
' code code code
End Sub
'***
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml -
http://www.mztools.com/
Merci de poster les réponses au groupe afin d'en faire profiter à
tous "seb-seb" wrote in message
news:bonjour
est il possible d'appeler une procedure avec une variable string
genre call myvar
est myvar = "CMDok_click" ?
enfin si vous voyez ce que je veus dire
merci