Je suis en train de créer une fonction et je me heurte à un problème
Afin d'eviter l'ecriture d'un code trop chargé je me demandais s'il n'existait pas une solution plus rapide
Je voudrais faire la chose suivante, plutot que de traiter chaque argument individuellement, je créé une boucle qui appelle chacun à son tour les arguments
Function maFonction(arg1, arg2, arg3, arg4, arg5)
For i = 1 To 5
variable = arg & i
resultat = resultat + variable
Next i
maFonction = resultat
End Function
le traitement des données présenté n'est pas ce que je veux faire, j'ai simplifié pour que l'exemple soit plus parlant
arg & i serait en quelque sorte une variable dynamique
Re : Function : utilisation des arguments en boucle
Bonjour Crisky,
On ne peut pas tripoter les variables comme ça.
Par contre testez ceci :
Code:
Function maFonction(ParamArray X())
Dim i
For i = 0 To UBound(X)
maFonction = maFonction + X(i)
Next
End Function
Sub test()
MsgBox maFonction(1, 2, 3, 4, 5)
End Sub
Re : Function : utilisation des arguments en boucle
Job75
C'est royal, cela marche à la perfection, je viens d'adapter cela à ma fonction, on peut même tester si x(i) contient une formule
Juste une petite question : Est-on limité en nombre d'argument ?
Re : [RESOLU] Function : utilisation des arguments en boucle
Job75
Il semblerait malheureusement que le 31eme arguement ne soit pas pris.(message d'erreur)
Mais ce n'est pas grave, ta solution va me permettre de gagner un temps fou sur l'ecriture
Re : [RESOLU] Function : utilisation des arguments en boucle
Re,
oui c'est une fonction excel, donc je l'ai répété
mais c'est interressant de savoir que dans un module classique on peut mettre autant d'argument que l'on veut