Fonction qui marche pas

cs_edrimor Messages postés 20 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 29 août 2004 - 9 avril 2004 à 10:01
cs_edrimor Messages postés 20 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 29 août 2004 - 9 avril 2004 à 10:46
j'ai un problème étrange sur une fonction test, si je ne mets qu'un seul paramètre tout va bien mais si j'en mets deux, j'ai un message d'erreur !
le problème n'apparait que si c'est des Integer comme param
je donne le code de la fonction test :
Public Function Test(num As Integer)
MsgBox "numero " & num & " !"
End Function 'ça ça marche

Public Function Test(num As Integer, num2 As Integer)
MsgBox "numeros " & num & " " & num2 & " !"
End Function 'et la jai un message d erreur du type erreur Attendu :=

Voila si quelqu'un a la solution ...

l'intuition est nécessaire comme le vent elle lève la brume

6 réponses

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
9 avril 2004 à 10:14
C'est un peu normal non ?
Une fonction doit renvoyer un resultat ...
Toi tu ne renvoie rien !!!!
Si tu n'as pas besoin de renvoyer de resultat utilises plutot une procedure!
Voici les schema de base :
-Fonction:
Public Function Test(...,...,...) As Integer
...
Test = MonResultat 'Ca doit etre un enrier vu que dans notre cas la fonction renvoi un Integer(entier)
End Function

-Procedure:
Public Sub Test(...,...,...)
...
End Sub

Voili voilou...
A++ et bonne prog...

--=[DeAtH_-_CrAsH]=--
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
9 avril 2004 à 10:20
J'oublié!
Ton code devrais normallement marcher !
Regarde plutot du coté de l'appel de la fonction!
Tu ne dois pas mettre de parenthese pour les parametres !!!
Tu as du faire ca toi :
Test(5,2)
Et ca ne marche pas!

Alors fait plutot ca :
Test 5,2

Et la ca marche ;)

Puis pour tes fonctions fait plutot ca :

Public Sub Test(ByVal Num As Integer, ByVal Num2 As Integer)
...
End Sub

Cela veut dire que tu passes les parametres par valeurs et non pas par reference...
Si tu codes un peu en C/C++ tu feras vite la liaison ;)

A++

--=[DeAtH_-_CrAsH]=--
0
cs_edrimor Messages postés 20 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 29 août 2004 1
9 avril 2004 à 10:21
je crois que je commence a comprendre mais si je ne veux pas que ma fonction renvoie quelque chose je ne peux rien faire ?
[font=Comic Sans MS]L'intuition est nécessaire, comme le vent elle lève la brume./font
0
cs_edrimor Messages postés 20 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 29 août 2004 1
9 avril 2004 à 10:25
c'est bon ça a l'air de marcher sans les parentheses!
mais si j'appelle cette fonction dans une procedure, sachant que ma fonction a beaucoup de params... ça va etre limite !
[font=Comic Sans MS]L'intuition est nécessaire, comme le vent elle lève la brume./font
0

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

Posez votre question
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
9 avril 2004 à 10:40
Ca depend de ce que tu veux faire....
Je suppose que tu va passer en parametres plein de Numero non ?

Si oui t'as qu'a utiliser un tableau d'entier, comme ca tu auras qu'un seul parametres!

Exemple:

Private Sub Command1_Click()
Dim MyTab(200) As Integer
'Ici on rempli le tableau a titre d'exemple
For i = 0 To 199
MyTab(i) = i
Next i

Test MyTab
End Sub

Public Sub Test(ByRef TabEntier() As Integer)
For i = 0 To 5
MsgBox "Voici le numero : " & TabEntier(i)
Next i
End Sub

Essaye cet exemple il te seras surement tres utile.
Je te ferais juste remarquer que le tableau est declaré avec 200 entier max et que dans ma boucle je vais de 0 a 199 et non pas de 1 a 200.
Le premier element d'un tableau est TOUJOURS le 0! Et non pas le 1 comme beaucoup le pense!

Si t'as besoin d'aides n'hesites pas.

--=[SaMir]=--
0
cs_edrimor Messages postés 20 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 29 août 2004 1
9 avril 2004 à 10:46
C'est bon ça fonctionne !
pour le tableau je pense pas que ça va être bon y'a des variables booleenes, entiere, et String
c'est rageant je connais JAVA, C, etc... mais je tombe sur un stage en VBA / Access ! (c'est tout nouveau)
Mais bon faut s'y faire !
encore merci !

@++ !

[font=Comic Sans MS]L'intuition est nécessaire, comme le vent elle lève la brume./font
0
Rejoignez-nous