OVH Cloud OVH Cloud

référence a un objet

10 réponses
Avatar
aitoz
Bonsoir,

je voudrais savoir comment faire référence a un objet sur une feuille ?

voici mon code :
Public Function verifform()
If ListBox1.Select <> "" Then
Beep()
End If
End Function

Mais forcement, ma listbox1 est sur ma feuille active. et je ne sais pas
comment faire pour y faire référence ?

10 réponses

Avatar
Francois Muller
Bonsoir,

"aitoz" a écrit dans le message de news:
%
je voudrais savoir comment faire référence a un objet sur une feuille ?

voici mon code :
Public Function verifform()
If ListBox1.Select <> "" Then
Beep()
End If
End Function

Mais forcement, ma listbox1 est sur ma feuille active. et je ne sais pas
comment faire pour y faire référence ?



tu peux passer la ref de ta feuille à la fonction. Exemple :

Public Function verifform( _frm as Form)

If _frm.ListBox1.Select <> "" Then
Beep()
End If

End Function

Et dans la form tu appelles ta fonction ainsi :

VerifForm(Me)

(Si c'est bien 'Me' en VB ? )

F.
Avatar
aitoz
wouah ! il n'y a pas d'autre méthode ???
Ca me parait bizarre de ne pas pouvoir aller chercher la valeur ?
Genre :
SGSA.IGU_Ajoutmanuel.ActiveForm.listbox1.value
Avatar
Francois Muller
"aitoz" a écrit dans le message de news:

wouah ! il n'y a pas d'autre méthode ???



Oui, mais il faudrait que tu décrives un peu plus précisément le contexte de
ce que tu souhaites faire.

F.
Avatar
aitoz
j'ai tout simplement un formulaire avec des objets que j'ai créé via
l'interface graphique de V.NET.

Exemple : un textox1 créé dans le formulaire.
je fais une saisie dans ce textbix une fois le logiciel mancé et je veux
récupérer la valeur du textbox pour l'utiliser dans une fonction et
retourner une valeur.
Et bien je ne sais pas comment faire directement référence a cette valeur
dans le textbox.
J'ai pas envie de créer des variables a tire l'arigot (tient !! comment ca
s'ecrit !! hihihi)

je pourrais passer la valeur sur une variable a plus grande portée ou meme
déclarer le textbox dans une plpus grande portée.

Moi j'aimerai faire un truc du genre :

Me.nomForm.textbox1.text = "lolo"
Avatar
Millox Frédéric
Salut aitoz,

Si tu mets un textbox TextBox1 sur un formulaire quelconque et que tu veux
lui affecter une valeur, tu fais :

me.TextBox1.Text = "toto"

Je ne sais pas si c'est ce type de réponse que tu attends mais d'après ton
exemple......

a+

--
fmillox


"aitoz" a écrit :

j'ai tout simplement un formulaire avec des objets que j'ai créé via
l'interface graphique de V.NET.

Exemple : un textox1 créé dans le formulaire.
je fais une saisie dans ce textbix une fois le logiciel mancé et je veux
récupérer la valeur du textbox pour l'utiliser dans une fonction et
retourner une valeur.
Et bien je ne sais pas comment faire directement référence a cette valeur
dans le textbox.
J'ai pas envie de créer des variables a tire l'arigot (tient !! comment ca
s'ecrit !! hihihi)

je pourrais passer la valeur sur une variable a plus grande portée ou meme
déclarer le textbox dans une plpus grande portée.

Moi j'aimerai faire un truc du genre :

Me.nomForm.textbox1.text = "lolo"






Avatar
Fabien Bezagu
Aitoz,

Je crois avoir compris ce que tu veux faire :-)

Tu as une form et une classe. De la form, tu appelles une méthode de ta
classe et tu veux, dans cette méthode, accéder à ta textbox. Ca doit donner
ça :

Class MaForm
Inherits Form
...
Public textBox1 As TextBox

Sub Button_click(...) Handles....
Dim monObj as new MaClasse()
Dim a as Object = monObj.Methode()
End Sub
End Class

et

Class MaClasse
Public Function Methode() As Object
' Là tu veux accéder à la propriété Text de textBox1 qui est dans la
form appelante
' et retourner un objet
End Sub
End Class

Si c'est bien ce que tu cherches à faire, alors tu as un problème de
conception. Tu vas créer une dépendance forte entre ta classe et ta form, et
ça n'est pas recommandé (question de "bonnes pratiques"). Ca n'est
évidemment pas impossible en passant la form en paramètre comme l'a suggéré
François ou en utilisant la propriété statique ActiveForm de la classe Form.

L'idée, pour faire un beau design, est de réduire au maximum le couplage.
Pour cela, tu peux, par exemple, passer la valeur en paramètre ou à une
propriété.

Fabien

"aitoz" a écrit dans le message de news:
%
j'ai tout simplement un formulaire avec des objets que j'ai créé via
l'interface graphique de V.NET.

Exemple : un textox1 créé dans le formulaire.
je fais une saisie dans ce textbix une fois le logiciel mancé et je veux
récupérer la valeur du textbox pour l'utiliser dans une fonction et
retourner une valeur.
Et bien je ne sais pas comment faire directement référence a cette valeur
dans le textbox.
J'ai pas envie de créer des variables a tire l'arigot (tient !! comment ca
s'ecrit !! hihihi)

je pourrais passer la valeur sur une variable a plus grande portée ou meme
déclarer le textbox dans une plpus grande portée.

Moi j'aimerai faire un truc du genre :

Me.nomForm.textbox1.text = "lolo"





Avatar
**Pierre**
tire l'arigo

--
Pierre
"aitoz" a écrit dans le message de
news:%
j'ai tout simplement un formulaire avec des objets que j'ai créé via
l'interface graphique de V.NET.

Exemple : un textox1 créé dans le formulaire.
je fais une saisie dans ce textbix une fois le logiciel mancé et je veux
récupérer la valeur du textbox pour l'utiliser dans une fonction et
retourner une valeur.
Et bien je ne sais pas comment faire directement référence a cette valeur
dans le textbox.
J'ai pas envie de créer des variables a tire l'arigot (tient !! comment ca
s'ecrit !! hihihi)

je pourrais passer la valeur sur une variable a plus grande portée ou meme
déclarer le textbox dans une plpus grande portée.

Moi j'aimerai faire un truc du genre :

Me.nomForm.textbox1.text = "lolo"





Avatar
Francois Muller
"**Pierre**" a écrit dans le message de
news: O$
tire l'arigo


Non. Tire-larigot.
A l'origine c'est "Tire la Rigot", la Rigot qui était une grosse cloche de
la cathédrale de Rouen offerte par l'évéque eponyme, sur laquelle les
sonneurs s'épuisaient, tâche qui les rendait quelque peu soiffards : ils
buvaient pas mal, ceux qui tirent la Rigot. Puis c'est passé dans le
langage courant.

F.
Avatar
aitoz
C'est ce que j'ai fais ! un paramètre envoyé dans ma fonction et ca marche
trés bien.
Je pensais, plutot que d'envoyer un paramètre, récupérer la valeur
directement, mais effectivement, je devais déclarer mon objet au niveau de
ma class.

Enfin bon, c'est mieux et ca marchhe très bien.

Merci pour votre
Avatar
Arnaud
Bonjour,

S'agit-il de cela :

Dim frmReference As New FormBase
Me.Label1.Text = frmReference.TextBoxSource.Text




"aitoz" a écrit dans le message de
news:%
j'ai tout simplement un formulaire avec des objets que j'ai créé via
l'interface graphique de V.NET.

Exemple : un textox1 créé dans le formulaire.
je fais une saisie dans ce textbix une fois le logiciel mancé et je veux
récupérer la valeur du textbox pour l'utiliser dans une fonction et
retourner une valeur.
Et bien je ne sais pas comment faire directement référence a cette valeur
dans le textbox.
J'ai pas envie de créer des variables a tire l'arigot (tient !! comment ca
s'ecrit !! hihihi)

je pourrais passer la valeur sur une variable a plus grande portée ou meme
déclarer le textbox dans une plpus grande portée.

Moi j'aimerai faire un truc du genre :

Me.nomForm.textbox1.text = "lolo"