Probleme de module

Résolu
ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 - 3 mars 2006 à 08:44
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 3 mars 2006 à 09:21
Salut

Je n'utilisé jamais les modules, mais là je me lance pour éclaircir le code de mes forms.

Par contre du coup je n'arrive pas à passer une variable Mon_Heure d'un form à un module.

Dans mon form :
Dim Mon_Heure As Date

Private Sub Command1_Click()
Mon_Heure = Label1(1).Caption
Lundi_Vert
End Sub

Dans mon module:
Public Sub Lundi_Vert()
If Mon_Heure < "12:00:00" Then
Beep
Else
Exit Sub
End If
End Sub


Comment mettre mon code pour que dans mon module la valeur de la variable Mon_Heure soit conservé ?

ManuAntibes
A voir également:

5 réponses

acecel Messages postés 140 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 14 octobre 2006
3 mars 2006 à 08:52
Soit

Dans mon form :
Dim Mon_Heure As Date

Dans mon module:
Public Sub Lundi_Vert()
If MaForm.Mon_Heure < "12:00:00" Then
Beep
Else
Exit Sub
End If
End Sub

Ou

Dans mon form :

Public
Mon_Heure As Date


Dans mon module:

Public Sub Lundi_Vert()
If Mon_Heure < "12:00:00" Then
Beep
Else
Exit Sub
End If
End Sub
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
3 mars 2006 à 08:57
Salut,

Ou alors tu passes des parametes a tes sub ou fonction:

Dans le Module:

Public Sub Lundi_Vert(Mon_Heure as Date)
If Mon_Heure < "12:00:00" Then
Beep
Else
Exit Sub
End If
End Sub

Dans ton Form:

Call Lundi_Vert(Mon_Heure)

Note: de cette maniere tu peux garder tes variables privees a tes form.
@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 5
3 mars 2006 à 09:10
Ok
J'ai vu d'autre personne mettre ByVal dans leurs parentaises

Dans mon module:
Public Sub Lundi_Vert( ByVal Mon_Heure as date)
If Mon_Heure < "12:00:00" Then
Beep
Else
Exit Sub
End If
End Sub

Là on fait comment, tu sais ?

MANUANTIBES
0
acecel Messages postés 140 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 14 octobre 2006
3 mars 2006 à 09:13
ByVal = Moyen permettant de passer à une procédure la valeur d'un argument plutôt que
son adresse. La procédure peut de ce fait accéder à une copie de la variable. La
valeur réelle de cette dernière n'est donc pas modifiée par la procédure à
laquelle elle est passée.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
3 mars 2006 à 09:21
e,


En fait tu as deux possibilite


ByVal ou ByRef ( = rien)


ByVal: Voir Post Acecel
ByRef: = Moyen permettant de passer à une procédure l'adresse d'un argument plutôt que sa valeur. La procédure peut ainsi accéder à la variable proprement dite. La valeur réelle de cette dernière peut, de ce fait, être modifiée par la procédure à laquelle elle a été passée. Par défaut, les arguments sont passés par référence.


un petit exemple avec du code... Une fois essayer observe avec ByVal, Remplace par ByRef et Observe la petite difference.


Private Sub Form_Load()
Dim i As Integer
i = 3
Call Add1(i)
MsgBox i
End Sub



Private Sub Add1(ByVal vale As Integer)
MsgBox vale
vale = vale + 1
MsgBox vale
End Sub


@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée



@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
Rejoignez-nous