Utiliser une valeur dans un retour de fonction

Signaler
Messages postés
11
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
6 avril 2005
-
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
-
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

Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
27
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.
Messages postés
11
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
6 avril 2005

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 :)
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
27
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.
Messages postés
11
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
6 avril 2005

Merci pour ton aide Ô grand maitre du .Net :)

C'est exactement ce qui me fallait ! Merci encore !
Messages postés
11
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
6 avril 2005

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
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
Là, tu en demandes trop !!! lol

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

Manu