Utiliser une valeur dans un retour de fonction

cs_Keliah Messages postés 11 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 6 avril 2005 - 27 mai 2004 à 12:53
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 - 28 mai 2004 à 14:29
Voilà, ce que je cherche à faire c'est d'utiliser une fonction pour retourner un nom de textebox pour modifier la valeur d'un de ses attribut.

En clair, je veux rendre une texte box invisible grace à une fonction qui me donne le nom de la texte box.

Voilà le bout de code qui ne marche pas ;(

Private Sub txtinvisible()
Dim x As Integer = nbsoffres
Dim i As Integer
Dim a As String

For i = nbsoffres + 1 To 8
labelname(a).visible = False
Next i
End Sub

Function labelname(ByRef rtxt_op As String)
Dim j As Integer
Dim h As Integer = nbsoffres + 1
For j = h To 8
rtxt_op = "txt_op" & j

Next j
Return rtxt_op
End Function

______________________________________

Merci d'avance à ceux qui pourront m'aider !

6 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
27 mai 2004 à 12:57
Je te sens tres mal parti la !!! A mon avis tu devrais plutot fair e un groupe de controle mais je ne comprend pas bien la finalité du code. Est-ce que tu peux nous en dire plus sur le fonctionnement général attendu

Christophe R.
0
cs_Keliah Messages postés 11 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 6 avril 2005
27 mai 2004 à 13:59
Ce que je veux au final c'est une procedure qui me permet avec une valeur en entrée de rendre invisible des textbox.

A savoir les textbox name sont txt_op1, txt_op2, ..., txt_opn.

Voila :)
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
27 mai 2004 à 14:29
SI je comprend bien tu veux une sub ou tu lui transmet un nom de controle et qui le rend invisible ?
Alors voila :
Sub MakeInvisible(ByVal Nom as String)
Dim Ctrl as Control
  For Each Ctrl In Controls
    If Ctrl.Name = Nom Then
      Ctrl.Visible= False
      Exit Sub
    End If
  Next
End Sub

Christophe R.
0
cs_Keliah Messages postés 11 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 6 avril 2005
27 mai 2004 à 15:32
Merci pour ton aide Ô grand maitre du .Net :)

C'est exactement ce qui me fallait ! Merci encore !
0

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

Posez votre question
cs_Keliah Messages postés 11 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 6 avril 2005
27 mai 2004 à 15:44
EDIT :

C'est parfaitement ce que je voulais mais il me reste un problème. Je stock mes noms de controles dans une variable de type string et malheuresement les variables controle ne supporte pas de se faire assigner un string...

Exemple : Private Sub txtinvisible()
Dim i As Integer
Dim ctrl As Control

For i = nbsoffres + 1 To 8
ctrl = labelname(rtxt_op) <-- Là ca ne passe pas
ctrl.Visible = False
Next i
End Sub

Function labelname(ByRef rtxt_op As String)
Dim j As Integer
Dim h As Integer = nbsoffres + 1
For j = h To 8
rtxt_op = "txt_op" & j
Next j
Return rtxt_op
End Function
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
28 mai 2004 à 14:29
Là, tu en demandes trop !!! lol

Au passage, la fonction labelname retournera toujours "txt_op8" (problème de boucle apparemment)

Manu
0
Rejoignez-nous