Fonction avec deux paramètres

Mateo -  
 le père -
Bonjour,

Je cherche à réaliser une fonction en Vba pour une appli exel.
Dans ce cadre j'ai créer des modules représentant chacun une fonction et j'ai créer un module main qui appele toutes les autres fonctions.
Mon problème est que je n'arrive pas a crérer une fonction avec plus d'un paramète d'entrée

exemple:

dans module 1:

sub main ()

If (ma_fonciton (param1,param2) <> "toto") Then Tonton = Tata

Qu'est ce qui est renvoyé par ma_fonction si celle ci est un format sub ma_fonction (param1, param2)

merci beaucoup
A voir également:

4 réponses

Mateo
 
Q1: Comment faire pour passer deux param
Q2 :Qu'est ce qui est renvoyé par ma_fonction si celle ci est un format sub ma_fonction (param1, param2)

ps: Je suis novice en prog donc il est possible que la procedure soit stupide auquel cas les conseils sont les biens venu...

Merci
0
le père
 
Bonjour

Q1 - pour passer deux paramètres, tu les mets tous les deux après le nom de ta fonction :
entre parenthèses si tu veux récupérer une valeur : If (ma_fonciton (param1,param2) <> "toto") Then
SANS parenthèses si tu ne t'intéresses pas à la valeur renvoyée : ma_fonciton param1,param2

Q2 ma_fonction ne renvoie rien si elle est déclarée en sub. Pour qu'elle renvoie quelque chose il faut déclarer
function ma_fonction( param1, param2) as integer ( ou AS le type de ce que tu veux retourner
... code
ma_fonction= valeur à retourner
... éventuellement encore code
end function
0
Mateo
 
Ok merci pour la Q2 par contre pour la Q1 il veut pas que je mette deux params même si je met

if ( (ma_fonciton (param1,param2))

et que ma fonction est déclarée

sub ma_fonction ( param1,param2)
....
...
....
End sub
0
le père
 
Bien sûr. Ta fonction ne te renvoie rien, elle est déclarée comme sub et non pas comme function
Donc tu ne peux pas tester la valeur renvoyée en faisant if ma_fonction (param1,param2).ça testerait quoi ?

si tu veux comparer ma_fonction(param1,param2) à "toto", il faut que ma_fenction renvoie une valeur et dons soit déclaré en function

au passage, tu n'es pas en C, tu n'es pas obligé de mettre la condition entre ( )
0