Bonjour,
Comment passer une variable d'une fenêtre à une autre ? Je fais un .Show à partir de la première fenêtre... Mais comment passer ma variable ?
Merci !
Bonjour,
Comment passer une variable d'une fenêtre à une autre ? Je fais un .Show à partir de la première fenêtre... Mais comment passer ma variable ?
Merci !
si c'est une variable publique déclarée dans un module à part, elle sera "reconnue" quelle que soit la feuille active.
Bonjour,
Dans ta feuille à ouvrir, tu peux soit
- créer des propriétés publique de la feuille.
- faire une procédure appelante (publique) avec un paramètre, que tu appeles depuis la première.
http://www.developpez.net/forums/sho...able+fen%EAtre
A+, Hervé.
Merci.
J'essaye ainsi :
Fenetre appelante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Private pForm As New StdCActionFormManager Public ObjectId As String Private Sub cmdCancel_Click() Unload Me End Sub Private Sub cmdSearch_Click() If tbId.text > "" Then ObjectId = tbId.text Dim f As New dlgBoxSearchForIdResult showActionForm f Unload Me End If End Sub Private Sub Form_Initialize() pForm.Init Me End Sub
Fenetre appellée :
Ma variable test reste vierge... vous allez me dire que je viens de l'instancier... oui... comment puis-je faire ? Je vous pourquoi cela ne fonctionne pas, mais je ne sais pas comment résoudre...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Private pForm As New StdCActionFormManager Private pFormParent As New dlgBoxSearchForId Private Sub cmdCancel_Click() Dim f As New dlgBoxSearchForId showActionForm f Unload Me End Sub Private Sub cmdOk_Click() Unload Me End Sub Private Sub Form_Initialize() pForm.Init Me Dim test As String test = pFormParent.ObjectId 'Dim rqst SSearchIdQuery 'Dim doRply SSearchIdQueryResult 'Set doRply = core.DispatchInstanceMethod("SearchId", "query", rqst) End Sub
Salut à tous
Vous pouvez faire comme suit :
dans la fenêtre appelée (frmAppelee), vous déclarez une variable publique :
puis dans une autre fenêtre, vous pouvez faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Public MaVariable as ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 frmAppelee.MaVariable = ... frmAppelee.Show
Cordialement..
Bonjour,
Je teste, je ne vois pas ce qui m'échappe, mais cela ne fonctionne pas...
Voici le code de la fenêtre appellante dlgBoxSearchForId :
Et voici le code de la fenêtre appellée dlgBoxSearchForIdResut :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Public ObjectId As String Private Sub cmdSearch_Click() If tbId.text > "" Then ObjectId = tbId.text dlgBoxSearchForIdResult.Show (1) Unload Me End If End Sub
Ma variable est bien modifiée dans la première fenêtre, mais je ne recupère pas sa valeur dans la seconde, la variable y est alors non setée...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub Form_Initialize() pForm.Init Me Dim ObjectId As String ObjectId = dlgBoxSearchForId.ObjectId End Sub
Bonjour,
Je viens de faire un copier/coller rigoureux de ton code et en créant, sur chacune des deux Forms, les mêmes contrôles que toi.
Et en éliminant bien évidemment la ligne
pForm.Init Me
dont j'ignore ce qu'elle lance de son côté (puisque nous n'en avons pas le code)
Je récupère bien la valeur de la variable !
EDIT :
Me pemettras-tu de t'interroger sur la raison (nécessaire ?...) de décharger ta 1ère Form et de te compliquer ainsi la tâche gratuitement ?
Extrait de l'aide en ligne, donc :
Matière à sage réflexion...Lorsqu'une feuille est déchargée, seul l'élément affiché est déchargé. Le code associé au module de la feuille demeure en mémoire.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager