Bonjour,
je souhaite réaliser une fonction prenant 2 variables en entrée et donnant deux variables en sortie (à l'exemple des fonctions de R2 dans R2)...
est-ce possible de faire ça sur excel ??
Merci.
Version imprimable
Bonjour,
je souhaite réaliser une fonction prenant 2 variables en entrée et donnant deux variables en sortie (à l'exemple des fonctions de R2 dans R2)...
est-ce possible de faire ça sur excel ??
Merci.
Tu n'es même pas obligé de mettre "as integer" ;)Code:
1
2
3
4
5
6
7
8
9 Sub Appel() Dim r r = LaFonction(4,5) msgbox r End sub Function LaFonction(a,b) as integer LaFonction = a * b end function
A+
justement, ta fonction LaFonction n'envoie qu'une seule valeur. mon but c'est d'avoir une fonction f(a,b)=(x,y)...
Tu peux renvoyer un tableau de tes deux variables.
Une fonction... fonctionne comme une variable
1valeur = LaFonction
1Tableau = LaFonction
A+Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Sub TailleDuTableau() Dim LeTableau LeTableau = Array(3, 5, 7, 12, 25, 36) Result = Bound(LeTableau) For i = 0 To UBound(Result) MsgBox Result(i) Next End Sub Function Bound(Tableau) Dim LeTableau(5) For i = 0 To UBound(Tableau) LeTableau(i) = Now + Tableau(i) Next Bound = LeTableau End Function
Voici un petit exemple qui n'utilise que des integer. mais tu peux faire ce que tu veux ;).Citation:
Envoyé par prince19
Le seul souci sera qu'avec cette solution, ta cellule ne contiendra qu'une seule valeur.
La fonction, par contre, te renvoie bien les deux valeurs.
tu pourras donc faire une procédure qui récupère es valeurs puor faire ce que tu veux.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 '// Fonction funcX '// Attend 2 arguments de type Integer et retourne un tableau des deux valeurs ' en ordre inverse Function funcX(ByVal x As Integer, ByVal Y As Integer) As Integer() '// Déclaration du tableau de deux valeurs de retour Dim result(1) As Integer '// Affectation des deux valeurs result(0) = Y result(1) = x '// retour du tableau de deux valeurs funcX = result End Function
ok, merci beaucoup.
j'ai pensé au tableau, mais je voulais m'assurer qu'on ne pouvait pas récupérer directement 2 valeurs...