[VB6] Passer une variable entre 2 formulaires
Fermé
CrazyBhy
Messages postés
1
Date d'inscription
lundi 31 août 2009
Statut
Membre
Dernière intervention
31 août 2009
-
31 août 2009 à 17:59
lullierjon - 27 janv. 2021 à 09:52
lullierjon - 27 janv. 2021 à 09:52
A voir également:
- [VB6] Passer une variable entre 2 formulaires
- Vb6 - Télécharger - Divers Utilitaires
- Passer de windows 7 à windows 10 - Accueil - Mise à jour
- Passer de qwerty a azerty - Guide
- 2 ecran pc - Guide
- Word numéro de page 1/2 - Guide
3 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
21 sept. 2009 à 22:01
21 sept. 2009 à 22:01
Bonjour,
Pour qu'une variable soit "public", il faut la déclarée en entête de module. Elle sera visible par tous les modules du programme pour peu qu'elle soit initialisée ...
Pour accéder à maVariable
;o)
Pour qu'une variable soit "public", il faut la déclarée en entête de module. Elle sera visible par tous les modules du programme pour peu qu'elle soit initialisée ...
'Formulaire1 Option Explicit Public maVariable As String Private Sub Commande66_Click() 'Initialisation de la variable public maVariable = "Bonjour le monde" '... Formulaire2.Show End Sub
Pour accéder à maVariable
'Formulaire2 Option Explicit Sub Formulaire2_Initialize TextBox1.Text = Formulaire1.maVariable '... End Sub
;o)
frechnie
Messages postés
11
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 mars 2011
21 sept. 2009 à 20:38
21 sept. 2009 à 20:38
Slt, pour récupéré la valeur de la variable il faut l'affecter dans un label ou un textbox et faire un truc de ce genre:
'Dans le formulaire 1
Label.caption=variable ou TxtBox.Text=variable
ensuite
'Dans le formulaire 2
variable=Form1.Label.caption ou variable=TxtBox.Text
C'est efficace mais pas très professionnel
'Dans le formulaire 1
Label.caption=variable ou TxtBox.Text=variable
ensuite
'Dans le formulaire 2
variable=Form1.Label.caption ou variable=TxtBox.Text
C'est efficace mais pas très professionnel
coconuts_n
Messages postés
16
Date d'inscription
vendredi 2 juillet 2010
Statut
Membre
Dernière intervention
12 novembre 2010
1
2 juil. 2010 à 16:22
2 juil. 2010 à 16:22
Bonjour,
J'ai un problème assez silimaire. J'ai des données dans une feuille excel et je veux créer une box qui s'affichent dès le démarrage pour signaler des relances à effectuer avec des boutons "suivant" et "sortir". Cliquer sur suivant, donne la relance suivante et cliquer sur sortir arrête la macro.
Dans un fichier excel, j'ai mis dans "ThisWorkBook" :
Sub Workbook_Open()
Call Module2.Ouverture_Relance
DoEvents
End Sub
Ensuite, j'utilise un premier formulaire lancé à partir du module 2 :
Option Explicit
Public Numéro_Aliment As Long
Public Date_Dernier_Mail, Date_Derniere_Rép As Date
Public z As Integer
Public msg As String
Public continuer as Boolean
Sub Ouverture_Relance()
z = 9 'on commence à la ligne 9
Do
If Cells(z, 53).Value = "Mail à envoyer" Then
Numéro_Aliment = Cells(z, 1).Value
Date_Dernier_Mail = Cells(z, 54).Value
Date_Derniere_Rép = Cells(z, 51).Value
msg = "L'aliment " & Numéro_Aliment & " est à relancer. Dernier mail envoyé par l'entreprise le " & Date_Dernier_Mail & ". Dernière réponse du client le " & Date_Derniere_Rép
Messageform.Show 'ouvre une box contenant la phrase "msg" et contenant les boutons "suivant" et "sortir"
If Continuer = False Then
Exit Sub
End If
z = z + 1
End If
Loop Until z - 8 > Cells(1, 4).Value 'critère de fin
MsgBox ("Il n'y a plus de relances à faire")
Else
End If
End Sub
Dans le feuille d'un userform j'ai mis:
Option Explicit
Sub UserForm_Initialize()
Label1.Caption = msg
End Sub
Voilà! Le problème arrive quand il y a plusieurs relances à effectuer. La box qui s'affiche contient le bon message pour le premier lot mais pour les autres lots, le message reste inchangé. J'ai essayé de mettre autre chose que "initialize", comme activate mais j'ai rien trouvé qui marche.
Merci d'avance =)
J'ai un problème assez silimaire. J'ai des données dans une feuille excel et je veux créer une box qui s'affichent dès le démarrage pour signaler des relances à effectuer avec des boutons "suivant" et "sortir". Cliquer sur suivant, donne la relance suivante et cliquer sur sortir arrête la macro.
Dans un fichier excel, j'ai mis dans "ThisWorkBook" :
Sub Workbook_Open()
Call Module2.Ouverture_Relance
DoEvents
End Sub
Ensuite, j'utilise un premier formulaire lancé à partir du module 2 :
Option Explicit
Public Numéro_Aliment As Long
Public Date_Dernier_Mail, Date_Derniere_Rép As Date
Public z As Integer
Public msg As String
Public continuer as Boolean
Sub Ouverture_Relance()
z = 9 'on commence à la ligne 9
Do
If Cells(z, 53).Value = "Mail à envoyer" Then
Numéro_Aliment = Cells(z, 1).Value
Date_Dernier_Mail = Cells(z, 54).Value
Date_Derniere_Rép = Cells(z, 51).Value
msg = "L'aliment " & Numéro_Aliment & " est à relancer. Dernier mail envoyé par l'entreprise le " & Date_Dernier_Mail & ". Dernière réponse du client le " & Date_Derniere_Rép
Messageform.Show 'ouvre une box contenant la phrase "msg" et contenant les boutons "suivant" et "sortir"
If Continuer = False Then
Exit Sub
End If
z = z + 1
End If
Loop Until z - 8 > Cells(1, 4).Value 'critère de fin
MsgBox ("Il n'y a plus de relances à faire")
Else
End If
End Sub
Dans le feuille d'un userform j'ai mis:
Option Explicit
Sub UserForm_Initialize()
Label1.Caption = msg
End Sub
Voilà! Le problème arrive quand il y a plusieurs relances à effectuer. La box qui s'affiche contient le bon message pour le premier lot mais pour les autres lots, le message reste inchangé. J'ai essayé de mettre autre chose que "initialize", comme activate mais j'ai rien trouvé qui marche.
Merci d'avance =)
27 janv. 2021 à 09:52
Un grand bravo et surtout un énorme merci pour cette ligne :
Formulaire1.maVariable
Je n'avais pas pensé à rappeler le nom du formulaire !
Au top