Paramétrer une propriété d'un objet d'une form dans un module
cs_nirega
Messages postés58Date d'inscriptiondimanche 17 février 2002StatutMembreDernière intervention14 janvier 2008
-
24 nov. 2005 à 05:09
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
24 nov. 2005 à 15:48
bonjour,
j'aimerais éviter la redondance de code avec une fonction dans un module
je modifie la visibilité de lien dans un menu
********dans un module********
Public Function ChoixMenu5(MenuList)
NomForme.NomDuMenu1.visible=true
NomForme.NomDuMenu2.visible=true
NomForme.NomDuMenu3.visible=false
NomForme.NomDuMenu4.visible=true
NomForme.NomDuMenu5.visible=false
End Function
jusque la tout va........mon probleme est que j'essaye de concaquener un chiffre a coté du nom de ma forme (NomForme)
et vb ne reconnais pas cette form ou me donne comme erreur que sa prend un objet
genre :
NomForme & MenuList.NomDuMenu1.visible=true
ou
[NomForme & MenuList].NomDuMenu1.visible=true
et rien ne marche????
pouvez vous me donner une piste pour que je puisse continuer
merci ;-)
linasteph
Messages postés153Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 juillet 20091 24 nov. 2005 à 07:27
Lorsque tu appeles ta fonction Choix Menu5 tu dois forcément connaître
la forme sur laquelle ton menu se trouve alors pourquoi ne pas passer
ta forme en tant que paramètre de ta fonction.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 24 nov. 2005 à 07:41
si tes menus se suivent, tu pourra les Indexer :
NomForme.NomDuMenu(4).visible=true
sinon, il t'es toujours possible de faire :
Private Sub Command1_Click()
Dim MyMenu As Menu
Set MyMenu = GetMenu("Menu" & 3)
If Not MyMenu Is Nothing Then
MyMenu.Visible = False
End If
End Sub
Public Function GetMenu(ByRef Name As String, Optional ByRef F As Form) As Menu
If F Is Nothing Then
Set F = Me
End If
On Error Resume Next
Set GetMenu = F.Controls(Name)
On Error GoTo 0
If Not GetMenu Is Nothing Then
If Not TypeOf GetMenu Is Menu Then
Set GetMenu = Nothing
End If
End If
End Function
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 24 nov. 2005 à 15:48
salut,
tu peux aussi simplement enregistrer le nom complet de tes Form, sans oublier de faire un
Erase du tableau à la fermeture de l'appli
[VB6]
' DANS UN MODULE
'
' menu Projet > Propriétés de ~Projet1~ > Objet de démarrage : Sub Main
'
'
Option Explicit
'
Public aFormName(2) As Form
'
'
Public Sub Main()
'le projet contient ce module (Module1) et 3Form (nommées ci-dessous)
Set aFormName(0) = Form_Main
Set aFormName(1) = Form2
Set aFormName(2) = Form6
aFormName(0).Show
aFormName(1).BackColor = 255
aFormName(1).Show
End Sub