OVH Cloud OVH Cloud

Récupérer des infos d'un form instancié

4 réponses
Avatar
Christian
Bonjour,

Je cherche à récupérer, à partir d'un bouton se trouvant sur un autre
formulaire, des infos d'un formulaire instancié ouvert. Comment dois-je
faire ?

Christian

4 réponses

Avatar
Pascal B.
Salut Christian,

S'il s'agit de l'info de controls, il suffit de renseigner le nom de la form:

Info1 = Form2.TextBox1
Info2 = Form2.CheckBox1
etc ...

Par contre pour une variable, tu dois d'abord déclarer la variable "Public" dans la Form2 dans la section "Déclaration"

Public MonInfo as string

Puis dans la Form1, tu peux récupérer (ou modifier) le contenu de cette variable de la meme manière qu'un controle.

Info = Form2.MonInfo

(Voir aussi "Public Function", "Public Property Get/Let/Set")

Cordialement
Pascal B.

"Christian" wrote in message news:423947f9$0$14006$
| Bonjour,
|
| Je cherche à récupérer, à partir d'un bouton se trouvant sur un autre
| formulaire, des infos d'un formulaire instancié ouvert. Comment dois-je
| faire ?
|
| Christian
|
|
Avatar
LE TROLL
Salut,

Ou le contraire évidemment:
form2.variable = x

Et en public, je crois qu'il n'accepte pas d'indice:
public x(10) as ... ' refusé il me semble
public x as... ' seulement

:o)
-------

"Pascal B." a écrit dans le
message de news:
Salut Christian,

S'il s'agit de l'info de controls, il suffit de renseigner
le nom de la form:

Info1 = Form2.TextBox1
Info2 = Form2.CheckBox1
etc ...

Par contre pour une variable, tu dois d'abord déclarer la
variable "Public" dans la Form2 dans la section
"Déclaration"

Public MonInfo as string

Puis dans la Form1, tu peux récupérer (ou modifier) le
contenu de cette variable de la meme manière qu'un
controle.

Info = Form2.MonInfo

(Voir aussi "Public Function", "Public Property
Get/Let/Set")

Cordialement
Pascal B.

"Christian" wrote in message
news:423947f9$0$14006$
| Bonjour,
|
| Je cherche à récupérer, à partir d'un bouton se trouvant
sur un autre
| formulaire, des infos d'un formulaire instancié ouvert.
Comment dois-je
| faire ?
|
| Christian
|
|




Avatar
Christian
Merci pour la réponse.

En fait, avec un formulaire "normal" cela marche effectivement. Mais lorsque
celui-ci est instancié (j'ouvre plusieurs session du même formulaire) cela
ne marche plus. Il faudrait que je puisse faire comme pour un contrôle
indexé par exemple
with MonFormulaireInstancié(0).
RecupInfo = .text1.text
end with

Si je le laisse comme cela
With MonFormulaireInstancié
cela ne marche pas

Du coup je viens de songer à quelque chose, Je reviens...

Christian.


"Pascal B." a écrit dans le message de news:

Salut Christian,

S'il s'agit de l'info de controls, il suffit de renseigner le nom de la


form:

Info1 = Form2.TextBox1
Info2 = Form2.CheckBox1
etc ...

Par contre pour une variable, tu dois d'abord déclarer la variable


"Public" dans la Form2 dans la section "Déclaration"

Public MonInfo as string

Puis dans la Form1, tu peux récupérer (ou modifier) le contenu de cette


variable de la meme manière qu'un controle.

Info = Form2.MonInfo

(Voir aussi "Public Function", "Public Property Get/Let/Set")

Cordialement
Pascal B.

"Christian" wrote in message


news:423947f9$0$14006$
| Bonjour,
|
| Je cherche à récupérer, à partir d'un bouton se trouvant sur un autre
| formulaire, des infos d'un formulaire instancié ouvert. Comment dois-je
| faire ?
|
| Christian
|
|




Avatar
Jacques
Bonjour,
Christian a écrit :
Merci pour la réponse.

En fait, avec un formulaire "normal" cela marche effectivement. Mais lorsque
celui-ci est instancié (j'ouvre plusieurs session du même formulaire) cela
ne marche plus. Il faudrait que je puisse faire comme pour un contrôle
indexé par exemple
with MonFormulaireInstancié(0).
RecupInfo = .text1.text
end with

Si je le laisse comme cela
With MonFormulaireInstancié
cela ne marche pas

Du coup je viens de songer à quelque chose, Je reviens...

Christian.



Peut être quelque chose du genre :
----------------------------------------------------------
Option Explicit

Dim MyForms() As Form

Private Sub Form_Load()
ReDim MyForms(0)
End Sub

Private Sub Command1_Click()
Dim NewIndex As Integer

NewIndex = UBound(MyForms) + 1
ReDim Preserve MyForms(NewIndex)

Set MyForms(NewIndex) = New Form2
MyForms(NewIndex).Caption = "Forme no : " & NewIndex
MyForms(NewIndex).Show
End Sub

Private Sub Command2_Click()
Dim i As Integer

For i = LBound(MyForms) To UBound(MyForms) - 1
MsgBox MyForms(i + 1).Caption
Next i
End Sub

Private Sub Form_Unload(Cancel As Integer)
Dim i As Integer

For i = LBound(MyForms) To UBound(MyForms) - 1
Unload MyForms(i + 1)
Next i

End Sub
----------------------------------------------------------

--
Cordialement,

Jacques.