[VB6] Ma variable ne prend pas les valeurs

Fermé
Pitbull42 Messages postés 10 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 12 mai 2006 - 26 avril 2006 à 17:06
 Utilisateur anonyme - 28 avril 2006 à 01:34
Bonjour à tous , je suis desespéré , je suis en train de faire un petit prog tout simple mais qui fait appelle à une variable globale .
Mon projet contient 2 form :
la premiere contient 4 images
la seconde contient 4 optionbutton qui attribu l'entier 0 , 1 , 2 , 3 a la variable globale CHGT .

Le soucis c'est que ma variable prend qu'une seule valeure , celle quelle a lors de l'initialisation , donc si vous pouviez m'aider , ce serait fort apprécié .

voici le code de la premiére form :
Option Explicit

Private Sub UserControl_Initialize()
menu.Show
If menu.CHGT = 0 Or menu.CHGT = 1 Or menu.CHGT = 2 Or menu.CHGT = 3 Then
kelimage
End If
End Sub

Sub kelimage()
Image1.Visible = (menu.CHGT = 0)
Image2.Visible = (menu.CHGT = 1)
Image3.Visible = (menu.CHGT = 2)
Image4.Visible = (menu.CHGT = 3)
End Sub


voici le code de la 2ieme form
Option Explicit
Public CHGT As Integer

Private Sub Option1_Click()
If Option1 = True Then
CHGT = 0
End If
End Sub

Private Sub Option2_Click()
If Option2 = True Then
CHGT = 1
End If
End Sub

Private Sub Option3_Click()
If Option3 = True Then
CHGT = 2
End If
End Sub

Private Sub Option4_Click()
If Option4 = True Then
CHGT = 3
End If
End Sub


merci d'avance
amicalement lucas

2 réponses

Utilisateur anonyme
26 avril 2006 à 22:26
Bonjour,

Déclaré la variable dans un module externe !

Lupin
0
Pitbull42 Messages postés 10 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 12 mai 2006
27 avril 2006 à 08:03
salut , j'ai lu ton message , le soucis c'est que je ne sais pas comment faire pour mettre ma variable dans un module externe !!
peut tu m'aider ??
0
Utilisateur anonyme
28 avril 2006 à 01:34
Bonjour,

alors allons-y pas à pas, de la même façon que tu as ajouter un second formulaire, cette fois-ci tu dois sélectionner [ Module ].

dans ce module tu declare une routine ainsi :

Option Explicit
'

Public MaVariable As String
'

Sub Main()

    MaVariable = "Initialisation"
    Premiere.Show
    
End Sub


ensuite dans le formulaire #1 tu adresse comme d'habitude ...

Option Explicit

Private Sub cmdExecute_Click()
    MaVariable = txtTexte.Text
    Seconde.Show
    Unload Me
End Sub
'

Private Sub cmdQuitter_Click()
    Unload Me
End Sub
'

Private Sub txtTexte_Change()
    lblTexte.Caption = txtTexte.Text
End Sub


et tu peux la récupérer du second formulaire même s'il est fermé,
de la même façon...

Option Explicit

Private Sub cmdExecute_Click()
    txtTexte.Text = MaVariable
End Sub
'

Private Sub cmdQuitter_Click()
    Unload Me
End Sub


attention j'ai utilisé le même nom de textbox sur les 2 formulaires!

dernière chose, il faut changer le démarrage du projet.

pour ce faire, menu VB

// Projet /Propriétés du projet... / Onglet Général
/ La 2ième liste déroulante qui se nomme "Startup Object"
Dans cette liste devrait apparaître le nom de la routine Sub
créer dans le module externe au formulaires qui est en fait
un fichier de type [ .bas ] pour "basic" je crois. Il n'y a pas
de visuel ce n'est que du code.

Lupin
0