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
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. 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
  2. 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
  3. 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
  4. 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