Fonction à 4 sorties,

Mattharm

XLDnaute Occasionnel
Bonjour,

Comment fait on pour déclarer une fonction à 4 sorties ?

Code:
function (arg1, arg2,arg,3) as ...
end function

Merci à tous,
 

Mattharm

XLDnaute Occasionnel
Re : Fonction à 4 sorties,

Bonjour,

J'entre 4 arguments et j'aimerais faire quatre calculs différents et donc avoir quatre sorties.

Par exemple je lui donne : a,b,c et d

Et il me renvoie a+b,a*b,c+d,c*d

Je ne sais juste pas comment l'instancier. Puisque je dois créer des variables il faudrait que mes variables soient public non ?
 

Raja

XLDnaute Accro
Re : Fonction à 4 sorties,

Bonjour, Salut Roger,

Essaye d'envoyer comme paramètre un tableau de 4 valeurs. Dans la fonction, tu fais le traitement de ces 4 valeurs en les modifiant. Comme ça, à la sortie tu recupères un tableau de 4 valeurs modifiées. C'est une des façons de faire dans la programmation.
 
Dernière édition:

Raja

XLDnaute Accro
Re : Fonction à 4 sorties,

Re, Salut à tous,

Juste pour illustrer de ce que j'avais dis auparavant, si cela t'intéresse :

Code:
Sub testTableau()
  [COLOR="Red"]'déclaration du tableau à 4 valeurs entières[/COLOR]
  Dim leTableau(4) As Integer
  Dim indice As Integer
  For indice = 0 To 3
    leTableau(indice) = (indice + 1) * 10
  Next indice
  [COLOR="red"]'affichage des valeurs avant l'appel de la fonction[/COLOR]
  For indice = 0 To 3
    MsgBox leTableau(indice)
  Next indice
  'appel de la fonction
  Call majTableau(leTableau)
  [COLOR="red"]'affichage des valeurs après l'appel de la fonction[/COLOR]
  For indice = 0 To 3
    MsgBox leTableau(indice)
  Next indice
End Sub

Function majTableau(telTableau() As Integer)
     telTableau(0) = telTableau(0) + telTableau(1)
     telTableau(1) = telTableau(0) * telTableau(1)
     telTableau(2) = telTableau(2) + telTableau(3)
     telTableau(3) = telTableau(2) * telTableau(3)
End Function

PS : ce n'est qu'une démonstratation, il faut l'adapter à ton besoin
 
Dernière édition:

Raja

XLDnaute Accro
Re : Fonction à 4 sorties,

Salut Roger,

Mon but est de ne pas faire une fonction personnalisée(car je considère qu'il y en a suffisamment à la base et autour et qu'il suffit de les connaître pour s'en servir). C'est une fonction qui servira et qui rendra service uniquement pour un but précis à l'intérieur d'une module. J'aurais pu la qualifé de fonction privée. Ceci dit les valeurs du tableau après modifcation sont à la disposition de l'utilisateur. Aurais-je mal interprété la demande de l'auditeur ? C'est tout à fait possible. Ce n'est pas la première fois que ça m'arrive.
 
Dernière édition:

Gorfael

XLDnaute Barbatruc
Re : Fonction à 4 sorties,

Salut Mattharm et le forum
J'entre 4 arguments et j'aimerais faire quatre calculs différents et donc avoir quatre sorties.
Une Function réagit comme une fonction.
Une somution avec un argument supplémentaire
Code:
Function Plurisorties(A As Double, B As Double, C As Double, D As Double, S As Integer) As Variant
Select Case S
    Case 1: Plurisortie = A + B
    Case 2: Plurisortie = A * B
    Case 3: Plurisortie = C + D
    Case 4: Plurisortie = C * D
    Case Else: Plurisortie = "## Erreur d'argument(s) ##"
End Select
End Function
suivant la valeur donnée à S, on ressort 1 des calcul. Mais ça n'a pas grande utilité, autant se contenter de le faire "à la main", pour des opérations aussi basiques (et en plus, c'est 2 fois la même chose).
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 386
Messages
2 087 848
Membres
103 668
dernier inscrit
Aekhassen