Bonjour
J'ai une fonction que je souhaite mettre dans un module=20
car celle-ci est utilis=E9 par 2 formulaires et que le=20
nombre de cas peut varier (plus facile lors de la=20
maintenance)
Function delaipaie()
Dim Varan As Integer, Varmois As Integer, Varjour As=20
Integer, Cas As Integer
Varan =3D Year(Me.DateF)
Varmois =3D Month(Me.DateF)
Varjour =3D Day(Me.DateF)
Cas =3D Me.crtlf
Select Case Cas
Case 1
delaipaie =3D DateSerial(Varan, Varmois, Varjour + 8)
Case 2
delaipaie =3D DateSerial(Varan, Varmois + 1, 0)
Case ....
End Select
End Function
J'appelle ma proc=E9dure par
Me.ctrlx=3Ddelaipaie()
Dans mon formulaire Je dois garder la d=E9claration des=20
variables ainsi que
Varan =3D Year(Me.DateF)
Varmois =3D Month(Me.DateF)
Varjour =3D Day(Me.DateF)
Cas =3D Me.crtlf
J'ai essayer de mettre dans un module
Function delaipaie()
Select Case Cas
Case 1
delaipaie =3D DateSerial(Varan, Varmois, Varjour + 8)
Case 2
delaipaie =3D DateSerial(Varan, Varmois + 1, 0)
Case ....
End Select
End Function
Mais cela ne fonctionne pas
Quelle solution pourrait fonctionner?
1 ere question ta fonction est-elle appelle public function 2eme tes variabletes sont-elles globales 3eme pourquoi ne mes-tu pas tes variable dans l'appelle de ta fonction
je pense que se qui suit devrait fonctionner dans ta fenetre j'aurai mis
et dans ton module public Function delaipaie(Varan As Integer, Varmois As Integer, Varjour As Integer, Cas As Integer) as variant Select Case Cas Case 1 delaipaie = DateSerial(Varan, Varmois, Varjour + 8) Case 2 delaipaie = DateSerial(Varan, Varmois + 1, 0) Case .... End Select End Function
1 ere question ta fonction est-elle appelle public function
2eme tes variabletes sont-elles globales
3eme pourquoi ne mes-tu pas tes variable dans l'appelle de ta fonction
je pense que se qui suit devrait fonctionner
dans ta fenetre j'aurai mis
et dans ton module
public Function delaipaie(Varan As Integer, Varmois As Integer, Varjour As
Integer, Cas As Integer) as variant
Select Case Cas
Case 1
delaipaie = DateSerial(Varan, Varmois, Varjour + 8)
Case 2
delaipaie = DateSerial(Varan, Varmois + 1, 0)
Case ....
End Select
End Function
1 ere question ta fonction est-elle appelle public function 2eme tes variabletes sont-elles globales 3eme pourquoi ne mes-tu pas tes variable dans l'appelle de ta fonction
je pense que se qui suit devrait fonctionner dans ta fenetre j'aurai mis
et dans ton module public Function delaipaie(Varan As Integer, Varmois As Integer, Varjour As Integer, Cas As Integer) as variant Select Case Cas Case 1 delaipaie = DateSerial(Varan, Varmois, Varjour + 8) Case 2 delaipaie = DateSerial(Varan, Varmois + 1, 0) Case .... End Select End Function
Eric
Bonjour dfcena,
il faut que tu passes 2 arguments à ta fonction: Function delaipaie(UneDate as Date, UnCode as Integer)
où l'argument UneDate sera la valeur du controle DateF et un code la valeur du contrôle crtlf
donc dans le code de la fonction tu remplaces tous les occurences de DateF par UneDate et celle de ctrlf par UnCode.
L'appel de ta fonction dans les formulaires sera du genre : Me.ctrlxÞlaipaie(Me.DateF,Me.ctrlf)
A+ Eric
"dfcena" écrivait news:214dd01c45a9c$f19cce40$:
Bonjour J'ai une fonction que je souhaite mettre dans un module car celle-ci est utilisé par 2 formulaires et que le nombre de cas peut varier (plus facile lors de la maintenance) Function delaipaie() Dim Varan As Integer, Varmois As Integer, Varjour As Integer, Cas As Integer Varan = Year(Me.DateF) Varmois = Month(Me.DateF) Varjour = Day(Me.DateF) Cas = Me.crtlf Select Case Cas Case 1 delaipaie = DateSerial(Varan, Varmois, Varjour + 8) Case 2 delaipaie = DateSerial(Varan, Varmois + 1, 0) Case .... End Select End Function J'appelle ma procédure par Me.ctrlxÞlaipaie() Dans mon formulaire Je dois garder la déclaration des variables ainsi que Varan = Year(Me.DateF) Varmois = Month(Me.DateF) Varjour = Day(Me.DateF) Cas = Me.crtlf J'ai essayer de mettre dans un module Function delaipaie() Select Case Cas Case 1 delaipaie = DateSerial(Varan, Varmois, Varjour + 8) Case 2 delaipaie = DateSerial(Varan, Varmois + 1, 0) Case .... End Select End Function
Mais cela ne fonctionne pas Quelle solution pourrait fonctionner?
Bonjour dfcena,
il faut que tu passes 2 arguments à ta fonction:
Function delaipaie(UneDate as Date, UnCode as Integer)
où l'argument UneDate sera la valeur du controle DateF et un code la
valeur du contrôle crtlf
donc dans le code de la fonction tu remplaces tous les occurences de
DateF par UneDate et celle de ctrlf par UnCode.
L'appel de ta fonction dans les formulaires sera du genre :
Me.ctrlxÞlaipaie(Me.DateF,Me.ctrlf)
Bonjour
J'ai une fonction que je souhaite mettre dans un module
car celle-ci est utilisé par 2 formulaires et que le
nombre de cas peut varier (plus facile lors de la
maintenance)
Function delaipaie()
Dim Varan As Integer, Varmois As Integer, Varjour As
Integer, Cas As Integer
Varan = Year(Me.DateF)
Varmois = Month(Me.DateF)
Varjour = Day(Me.DateF)
Cas = Me.crtlf
Select Case Cas
Case 1
delaipaie = DateSerial(Varan, Varmois, Varjour + 8)
Case 2
delaipaie = DateSerial(Varan, Varmois + 1, 0)
Case ....
End Select
End Function
J'appelle ma procédure par
Me.ctrlxÞlaipaie()
Dans mon formulaire Je dois garder la déclaration des
variables ainsi que
Varan = Year(Me.DateF)
Varmois = Month(Me.DateF)
Varjour = Day(Me.DateF)
Cas = Me.crtlf
J'ai essayer de mettre dans un module
Function delaipaie()
Select Case Cas
Case 1
delaipaie = DateSerial(Varan, Varmois, Varjour + 8)
Case 2
delaipaie = DateSerial(Varan, Varmois + 1, 0)
Case ....
End Select
End Function
Mais cela ne fonctionne pas
Quelle solution pourrait fonctionner?
il faut que tu passes 2 arguments à ta fonction: Function delaipaie(UneDate as Date, UnCode as Integer)
où l'argument UneDate sera la valeur du controle DateF et un code la valeur du contrôle crtlf
donc dans le code de la fonction tu remplaces tous les occurences de DateF par UneDate et celle de ctrlf par UnCode.
L'appel de ta fonction dans les formulaires sera du genre : Me.ctrlxÞlaipaie(Me.DateF,Me.ctrlf)
A+ Eric
"dfcena" écrivait news:214dd01c45a9c$f19cce40$:
Bonjour J'ai une fonction que je souhaite mettre dans un module car celle-ci est utilisé par 2 formulaires et que le nombre de cas peut varier (plus facile lors de la maintenance) Function delaipaie() Dim Varan As Integer, Varmois As Integer, Varjour As Integer, Cas As Integer Varan = Year(Me.DateF) Varmois = Month(Me.DateF) Varjour = Day(Me.DateF) Cas = Me.crtlf Select Case Cas Case 1 delaipaie = DateSerial(Varan, Varmois, Varjour + 8) Case 2 delaipaie = DateSerial(Varan, Varmois + 1, 0) Case .... End Select End Function J'appelle ma procédure par Me.ctrlxÞlaipaie() Dans mon formulaire Je dois garder la déclaration des variables ainsi que Varan = Year(Me.DateF) Varmois = Month(Me.DateF) Varjour = Day(Me.DateF) Cas = Me.crtlf J'ai essayer de mettre dans un module Function delaipaie() Select Case Cas Case 1 delaipaie = DateSerial(Varan, Varmois, Varjour + 8) Case 2 delaipaie = DateSerial(Varan, Varmois + 1, 0) Case .... End Select End Function
Mais cela ne fonctionne pas Quelle solution pourrait fonctionner?
Eric
.../... et mieux , tu types ta fonction puisqu'elle retourne une date
Function delaipaie(UneDate as Date, UnCode as Integer) as Date
Precision: remplacer le Me.DateF par UneDate, idem pour Me.ctrlf par UnCode dans la fonction.
Eric
.../...
et mieux , tu types ta fonction puisqu'elle retourne une date
Function delaipaie(UneDate as Date, UnCode as Integer) as Date
Precision: remplacer le Me.DateF par UneDate, idem pour Me.ctrlf par UnCode
dans la fonction.
et dans ton module public Function delaipaie(Varan As Integer, Varmois As Integer, Varjour As
Integer, Cas As Integer) as variant Select Case Cas Case 1 delaipaie = DateSerial(Varan, Varmois, Varjour + 8) Case 2 delaipaie = DateSerial(Varan, Varmois + 1, 0) Case .... End Select End Function
.
ça fonctionne en mettant
Me.ctrlx=delaipaie( Year(Me.DateF), Month Me.DateF), Day
(Me.DateF), Me.crtlf)
-----Message d'origine-----
1 ere question ta fonction est-elle appelle public
function
2eme tes variabletes sont-elles globales
3eme pourquoi ne mes-tu pas tes variable dans l'appelle
de ta fonction
je pense que se qui suit devrait fonctionner
dans ta fenetre j'aurai mis
et dans ton module
public Function delaipaie(Varan As Integer, Varmois As
Integer, Varjour As
Integer, Cas As Integer) as variant
Select Case Cas
Case 1
delaipaie = DateSerial(Varan, Varmois, Varjour + 8)
Case 2
delaipaie = DateSerial(Varan, Varmois + 1, 0)
Case ....
End Select
End Function
et dans ton module public Function delaipaie(Varan As Integer, Varmois As Integer, Varjour As
Integer, Cas As Integer) as variant Select Case Cas Case 1 delaipaie = DateSerial(Varan, Varmois, Varjour + 8) Case 2 delaipaie = DateSerial(Varan, Varmois + 1, 0) Case .... End Select End Function