A propos des public_sub

Résolu
cs_Maxime31 Messages postés 79 Date d'inscription samedi 4 février 2006 Statut Membre Dernière intervention 28 juillet 2008 - 2 nov. 2007 à 11:54
cs_Maxime31 Messages postés 79 Date d'inscription samedi 4 février 2006 Statut Membre Dernière intervention 28 juillet 2008 - 2 nov. 2007 à 15:04
Bonjour,

malgré plusieurs recherche sur des codes, je ne comprend pas la facon de proceder pour réaliser un truc qui doit être tout simple.

Dans un de mes programme, je dois faire, a plusieurs endroits, apparaitre ou disparaitre des fenetres, bouttons, cases.... selon les situations.

Actuellement, je recopie chaque listing d'action d'apparition ou disparition a chaque evenement.

J'aimerai savoir comment, par exemple, créer une fonction appelée "FonctionA" qui me permette de faire automatiquement ce listing de commandes : boxregulier.Visible =

True
boxfrappe.Visible =
True
FC.Visible =
True
boxpaleur.Visible =
True
boxmarbrures.Visible =
True
syst.Visible =
True
diast.Visible =
True
moy.Visible =
True
Label43.Visible =
True
Label13.Visible =
True
boxta.Visible =
True
Label11.Visible =
True

Et comment faire pour 'appeler' cette fonction depuis d'autres parties de mon programme. JHe crois avoir compris qu'il fallait utiliser des Public_Sub, mais je ne comprend pas du tout la syntaxe.

QQu'un peut me donner un exemple ?

Merci d'avance

7 réponses

mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
2 nov. 2007 à 12:11
Ah oui, une remarque:
un sub est un code qui fait des changements par exemple dans ton programme, normal quoi.
Si tu as besoin de retourner une valeur, utilise public function FonctionA ( ) *Blabla*
End function

ça peut être utile si par exemple tu veux faire des opérations, comme un sub normal, et envoyer une valeur à la fin.
par exemple:

Public function EstCeQueXEgaleY (X as integer,Y as integer)
if X=Y then EstCeQueXEgaleY=true
else EstCeQueXEgaleY=false
End if
End function

(et dans ton programme, là ou tu veux...)

if (EstCeQueXEgaleY variable1,variable2) then
.........
3
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
2 nov. 2007 à 12:06
Salut,

Public sub FonctionA( ) 
*Blabla (ce que tu veux)*
End sub

et si tu veux l'appeler, tu écris tout simplement là où tu le veux: FonctionA
0
cs_Maxime31 Messages postés 79 Date d'inscription samedi 4 février 2006 Statut Membre Dernière intervention 28 juillet 2008
2 nov. 2007 à 12:18
Je teste ca dès que je peux, mais ca semble répondre parfaitement a ma question

Merci beaucoup !
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
2 nov. 2007 à 14:09
Salut,

mstarsup5 >> Une fonction renvoie quelque chose...Dans ton exemple de "fonction" tu ne renvois rien, donc un sub suffit...Faut préciser que, Public servira à être utiliser dans tous les formulaires de la source et Private, ne sera utilisé que dans un seul formulaire...

Exemple:

Private Sub Form_Load()
MsgBox Test(2)
MsgBox Test(1)
End Sub


Private Function Test(MyNumber As Integer) As Boolean


Test = False


If MyNumber 1 Then Test True


End Function


A+
Exploreur

 Linux a un noyau, Windows un pépin


 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
2 nov. 2007 à 14:15
Re,

Maxime31, voici une sub qui devrait répondre à ta demande, qui ne peut être utiliser que par un seul formulaire (Public <> Private)

Private Sub Form_Load()

' Si tu mets True, tous tes contrôles dans la sub seront à True
' Si tu mets False, tous tes contrôles dans la sub seront à False

' Appel Sub
InitCont False

End Sub




Private Sub InitCont(MyTrueFalse As Boolean)


boxregulier.Visible = InitCont
boxfrappe.Visible = InitCont
FC.Visible = InitCont
boxpaleur.Visible = InitCont
boxmarbrures.Visible = InitCont
syst.Visible = InitCont
diast.Visible = InitCont
moy.Visible = InitCont
Label43.Visible = InitCont
Label13.Visible = InitCont
boxta.Visible = InitCont
Label11.Visible = InitCont

End Sub


A+
Exploreur

 Linux a un noyau, Windows un pépin


 
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
2 nov. 2007 à 14:51
J'ai oublié le as boolean, oui


Public function EstCeQueXEgaleY (X as integer,Y as integer) as boolean
if X=Y then EstCeQueXEgaleY=true
else EstCeQueXEgaleY=false
End if
End function

Cependant Exploreur, ça devrait marcher même sans, puisque la fonction est alors définie comme variant automatiquement, et que je lui demande de renvoyer soit true, soit false.
Mais je suis d'accord que pour que ça soit propre, il faut le as boolean.
My mistake
0
cs_Maxime31 Messages postés 79 Date d'inscription samedi 4 février 2006 Statut Membre Dernière intervention 28 juillet 2008
2 nov. 2007 à 15:04
Merci
0
Rejoignez-nous