Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ange Ounis
Tu dois créer une fonction qui renvoie un résultat de type Variant sous forme d'un tableau. Pour l'utiliser dans Excel, tu la valides comme une formule matricielle (Ctrl+Maj+Entrée). Exemple :
''''dans un module ordinaire Function Bidon(Param) Dim Arr(1) 'tableau "relais" Arr(0) = Param + 1000 Arr(1) = Param * 1000 Bidon = Arr End Function
''''dans Excel, sélectionne A1:B1 puis dans A1 : =Bidon(15) et valide par Ctrl+Maj+Entrée.
---------- Ange Ounis ----------
Dans Excel 2003.
Quel code VBA utiliser pour qu'une "function" donne 2 résultats ou plus, tel que la résolution d'une équation du second degré, par exempl.
Tu dois créer une fonction qui renvoie un résultat de type Variant sous forme
d'un tableau. Pour l'utiliser dans Excel, tu la valides comme une formule
matricielle (Ctrl+Maj+Entrée).
Exemple :
''''dans un module ordinaire
Function Bidon(Param)
Dim Arr(1) 'tableau "relais"
Arr(0) = Param + 1000
Arr(1) = Param * 1000
Bidon = Arr
End Function
''''dans Excel, sélectionne A1:B1 puis dans A1 :
=Bidon(15)
et valide par Ctrl+Maj+Entrée.
----------
Ange Ounis
----------
Dans Excel 2003.
Quel code VBA utiliser pour qu'une "function" donne 2 résultats ou plus, tel
que la résolution d'une équation du second degré, par exempl.
Tu dois créer une fonction qui renvoie un résultat de type Variant sous forme d'un tableau. Pour l'utiliser dans Excel, tu la valides comme une formule matricielle (Ctrl+Maj+Entrée). Exemple :
''''dans un module ordinaire Function Bidon(Param) Dim Arr(1) 'tableau "relais" Arr(0) = Param + 1000 Arr(1) = Param * 1000 Bidon = Arr End Function
''''dans Excel, sélectionne A1:B1 puis dans A1 : =Bidon(15) et valide par Ctrl+Maj+Entrée.
---------- Ange Ounis ----------
Dans Excel 2003.
Quel code VBA utiliser pour qu'une "function" donne 2 résultats ou plus, tel que la résolution d'une équation du second degré, par exempl.
yac
Merci, mais j'ai fais un essai avec 3 résultats:
Public Function CVE(ByRef Var1) Dim CV_1(2) As Variant CV_1(0) = WorksheetFunction.Average(Var1) CV_1(1) = WorksheetFunction.StDev(Var1) CV_1(2) = WorksheetFunction.StDev(Var1) / WorksheetFunction.Average(Var1) * 100 CVE = CV_1 End Function
Le résultat me donne 3 fois CV_1(0).
Ai-je oublié quelque chose ?
Tu dois créer une fonction qui renvoie un résultat de type Variant sous forme d'un tableau. Pour l'utiliser dans Excel, tu la valides comme une formule matricielle (Ctrl+Maj+Entrée). Exemple :
''''dans un module ordinaire Function Bidon(Param) Dim Arr(1) 'tableau "relais" Arr(0) = Param + 1000 Arr(1) = Param * 1000 Bidon = Arr End Function
''''dans Excel, sélectionne A1:B1 puis dans A1 : =Bidon(15) et valide par Ctrl+Maj+Entrée.
---------- Ange Ounis ----------
Dans Excel 2003.
Quel code VBA utiliser pour qu'une "function" donne 2 résultats ou plus, tel que la résolution d'une équation du second degré, par exempl.
Merci, mais j'ai fais un essai avec 3 résultats:
Public Function CVE(ByRef Var1)
Dim CV_1(2) As Variant
CV_1(0) = WorksheetFunction.Average(Var1)
CV_1(1) = WorksheetFunction.StDev(Var1)
CV_1(2) = WorksheetFunction.StDev(Var1) / WorksheetFunction.Average(Var1) *
100
CVE = CV_1
End Function
Le résultat me donne 3 fois CV_1(0).
Ai-je oublié quelque chose ?
Tu dois créer une fonction qui renvoie un résultat de type Variant sous forme
d'un tableau. Pour l'utiliser dans Excel, tu la valides comme une formule
matricielle (Ctrl+Maj+Entrée).
Exemple :
''''dans un module ordinaire
Function Bidon(Param)
Dim Arr(1) 'tableau "relais"
Arr(0) = Param + 1000
Arr(1) = Param * 1000
Bidon = Arr
End Function
''''dans Excel, sélectionne A1:B1 puis dans A1 :
=Bidon(15)
et valide par Ctrl+Maj+Entrée.
----------
Ange Ounis
----------
Dans Excel 2003.
Quel code VBA utiliser pour qu'une "function" donne 2 résultats ou plus, tel
que la résolution d'une équation du second degré, par exempl.
Public Function CVE(ByRef Var1) Dim CV_1(2) As Variant CV_1(0) = WorksheetFunction.Average(Var1) CV_1(1) = WorksheetFunction.StDev(Var1) CV_1(2) = WorksheetFunction.StDev(Var1) / WorksheetFunction.Average(Var1) * 100 CVE = CV_1 End Function
Le résultat me donne 3 fois CV_1(0).
Ai-je oublié quelque chose ?
Tu dois créer une fonction qui renvoie un résultat de type Variant sous forme d'un tableau. Pour l'utiliser dans Excel, tu la valides comme une formule matricielle (Ctrl+Maj+Entrée). Exemple :
''''dans un module ordinaire Function Bidon(Param) Dim Arr(1) 'tableau "relais" Arr(0) = Param + 1000 Arr(1) = Param * 1000 Bidon = Arr End Function
''''dans Excel, sélectionne A1:B1 puis dans A1 : =Bidon(15) et valide par Ctrl+Maj+Entrée.
---------- Ange Ounis ----------
Dans Excel 2003.
Quel code VBA utiliser pour qu'une "function" donne 2 résultats ou plus, tel que la résolution d'une équation du second degré, par exempl.
Ange Ounis
Pas de problème chez moi, ta fonction donne les résultats attendus.. Tu sélectionnes bien A1:C1 (par exemple) pour entrer ensuite en A1 qqchose comme :
=CVE(A10:A50)
?
---------- Ange Ounis ----------
Merci, mais j'ai fais un essai avec 3 résultats:
Public Function CVE(ByRef Var1) Dim CV_1(2) As Variant CV_1(0) = WorksheetFunction.Average(Var1) CV_1(1) = WorksheetFunction.StDev(Var1) CV_1(2) = WorksheetFunction.StDev(Var1) / WorksheetFunction.Average(Var1) * 100 CVE = CV_1 End Function
Le résultat me donne 3 fois CV_1(0).
Ai-je oublié quelque chose ?
Tu dois créer une fonction qui renvoie un résultat de type Variant sous forme d'un tableau. Pour l'utiliser dans Excel, tu la valides comme une formule matricielle (Ctrl+Maj+Entrée). Exemple :
''''dans un module ordinaire Function Bidon(Param) Dim Arr(1) 'tableau "relais" Arr(0) = Param + 1000 Arr(1) = Param * 1000 Bidon = Arr End Function
''''dans Excel, sélectionne A1:B1 puis dans A1 : =Bidon(15) et valide par Ctrl+Maj+Entrée.
---------- Ange Ounis ----------
Dans Excel 2003.
Quel code VBA utiliser pour qu'une "function" donne 2 résultats ou plus, tel que la résolution d'une équation du second degré, par exempl.
Pas de problème chez moi, ta fonction donne les résultats attendus..
Tu sélectionnes bien A1:C1 (par exemple) pour entrer ensuite en A1 qqchose comme :
=CVE(A10:A50)
?
----------
Ange Ounis
----------
Merci, mais j'ai fais un essai avec 3 résultats:
Public Function CVE(ByRef Var1)
Dim CV_1(2) As Variant
CV_1(0) = WorksheetFunction.Average(Var1)
CV_1(1) = WorksheetFunction.StDev(Var1)
CV_1(2) = WorksheetFunction.StDev(Var1) / WorksheetFunction.Average(Var1) *
100
CVE = CV_1
End Function
Le résultat me donne 3 fois CV_1(0).
Ai-je oublié quelque chose ?
Tu dois créer une fonction qui renvoie un résultat de type Variant sous forme
d'un tableau. Pour l'utiliser dans Excel, tu la valides comme une formule
matricielle (Ctrl+Maj+Entrée).
Exemple :
''''dans un module ordinaire
Function Bidon(Param)
Dim Arr(1) 'tableau "relais"
Arr(0) = Param + 1000
Arr(1) = Param * 1000
Bidon = Arr
End Function
''''dans Excel, sélectionne A1:B1 puis dans A1 :
=Bidon(15)
et valide par Ctrl+Maj+Entrée.
----------
Ange Ounis
----------
Dans Excel 2003.
Quel code VBA utiliser pour qu'une "function" donne 2 résultats ou plus, tel
que la résolution d'une équation du second degré, par exempl.
Pas de problème chez moi, ta fonction donne les résultats attendus.. Tu sélectionnes bien A1:C1 (par exemple) pour entrer ensuite en A1 qqchose comme :
=CVE(A10:A50)
?
---------- Ange Ounis ----------
Merci, mais j'ai fais un essai avec 3 résultats:
Public Function CVE(ByRef Var1) Dim CV_1(2) As Variant CV_1(0) = WorksheetFunction.Average(Var1) CV_1(1) = WorksheetFunction.StDev(Var1) CV_1(2) = WorksheetFunction.StDev(Var1) / WorksheetFunction.Average(Var1) * 100 CVE = CV_1 End Function
Le résultat me donne 3 fois CV_1(0).
Ai-je oublié quelque chose ?
Tu dois créer une fonction qui renvoie un résultat de type Variant sous forme d'un tableau. Pour l'utiliser dans Excel, tu la valides comme une formule matricielle (Ctrl+Maj+Entrée). Exemple :
''''dans un module ordinaire Function Bidon(Param) Dim Arr(1) 'tableau "relais" Arr(0) = Param + 1000 Arr(1) = Param * 1000 Bidon = Arr End Function
''''dans Excel, sélectionne A1:B1 puis dans A1 : =Bidon(15) et valide par Ctrl+Maj+Entrée.
---------- Ange Ounis ----------
Dans Excel 2003.
Quel code VBA utiliser pour qu'une "function" donne 2 résultats ou plus, tel que la résolution d'une équation du second degré, par exempl.
yac
Merci beaucoup.
L'erreur provenait que je voulais avoir les résultats en colonne donc je selectionnais A12:A14.
Es-ce possible dans ce sens?
Bonne soirée
Pas de problème chez moi, ta fonction donne les résultats attendus.. Tu sélectionnes bien A1:C1 (par exemple) pour entrer ensuite en A1 qqchose comme :
=CVE(A10:A50)
?
---------- Ange Ounis ----------
Merci, mais j'ai fais un essai avec 3 résultats:
Public Function CVE(ByRef Var1) Dim CV_1(2) As Variant CV_1(0) = WorksheetFunction.Average(Var1) CV_1(1) = WorksheetFunction.StDev(Var1) CV_1(2) = WorksheetFunction.StDev(Var1) / WorksheetFunction.Average(Var1) * 100 CVE = CV_1 End Function
Le résultat me donne 3 fois CV_1(0).
Ai-je oublié quelque chose ?
Tu dois créer une fonction qui renvoie un résultat de type Variant sous forme d'un tableau. Pour l'utiliser dans Excel, tu la valides comme une formule matricielle (Ctrl+Maj+Entrée). Exemple :
''''dans un module ordinaire Function Bidon(Param) Dim Arr(1) 'tableau "relais" Arr(0) = Param + 1000 Arr(1) = Param * 1000 Bidon = Arr End Function
''''dans Excel, sélectionne A1:B1 puis dans A1 : =Bidon(15) et valide par Ctrl+Maj+Entrée.
---------- Ange Ounis ----------
Dans Excel 2003.
Quel code VBA utiliser pour qu'une "function" donne 2 résultats ou plus, tel que la résolution d'une équation du second degré, par exempl.
Merci beaucoup.
L'erreur provenait que je voulais avoir les résultats en colonne donc je
selectionnais
A12:A14.
Es-ce possible dans ce sens?
Bonne soirée
Pas de problème chez moi, ta fonction donne les résultats attendus..
Tu sélectionnes bien A1:C1 (par exemple) pour entrer ensuite en A1 qqchose comme :
=CVE(A10:A50)
?
----------
Ange Ounis
----------
Merci, mais j'ai fais un essai avec 3 résultats:
Public Function CVE(ByRef Var1)
Dim CV_1(2) As Variant
CV_1(0) = WorksheetFunction.Average(Var1)
CV_1(1) = WorksheetFunction.StDev(Var1)
CV_1(2) = WorksheetFunction.StDev(Var1) / WorksheetFunction.Average(Var1) *
100
CVE = CV_1
End Function
Le résultat me donne 3 fois CV_1(0).
Ai-je oublié quelque chose ?
Tu dois créer une fonction qui renvoie un résultat de type Variant sous forme
d'un tableau. Pour l'utiliser dans Excel, tu la valides comme une formule
matricielle (Ctrl+Maj+Entrée).
Exemple :
''''dans un module ordinaire
Function Bidon(Param)
Dim Arr(1) 'tableau "relais"
Arr(0) = Param + 1000
Arr(1) = Param * 1000
Bidon = Arr
End Function
''''dans Excel, sélectionne A1:B1 puis dans A1 :
=Bidon(15)
et valide par Ctrl+Maj+Entrée.
----------
Ange Ounis
----------
Dans Excel 2003.
Quel code VBA utiliser pour qu'une "function" donne 2 résultats ou plus, tel
que la résolution d'une équation du second degré, par exempl.
L'erreur provenait que je voulais avoir les résultats en colonne donc je selectionnais A12:A14.
Es-ce possible dans ce sens?
Bonne soirée
Pas de problème chez moi, ta fonction donne les résultats attendus.. Tu sélectionnes bien A1:C1 (par exemple) pour entrer ensuite en A1 qqchose comme :
=CVE(A10:A50)
?
---------- Ange Ounis ----------
Merci, mais j'ai fais un essai avec 3 résultats:
Public Function CVE(ByRef Var1) Dim CV_1(2) As Variant CV_1(0) = WorksheetFunction.Average(Var1) CV_1(1) = WorksheetFunction.StDev(Var1) CV_1(2) = WorksheetFunction.StDev(Var1) / WorksheetFunction.Average(Var1) * 100 CVE = CV_1 End Function
Le résultat me donne 3 fois CV_1(0).
Ai-je oublié quelque chose ?
Tu dois créer une fonction qui renvoie un résultat de type Variant sous forme d'un tableau. Pour l'utiliser dans Excel, tu la valides comme une formule matricielle (Ctrl+Maj+Entrée). Exemple :
''''dans un module ordinaire Function Bidon(Param) Dim Arr(1) 'tableau "relais" Arr(0) = Param + 1000 Arr(1) = Param * 1000 Bidon = Arr End Function
''''dans Excel, sélectionne A1:B1 puis dans A1 : =Bidon(15) et valide par Ctrl+Maj+Entrée.
---------- Ange Ounis ----------
Dans Excel 2003.
Quel code VBA utiliser pour qu'une "function" donne 2 résultats ou plus, tel que la résolution d'une équation du second degré, par exempl.
Ange Ounis
Oui :
Public Function CVE(ByRef Var1) Dim CV_1(2) As Variant CV_1(0) = WorksheetFunction.Average(Var1) CV_1(1) = WorksheetFunction.StDev(Var1) CV_1(2) = WorksheetFunction.StDev(Var1) / _ WorksheetFunction.Average(Var1) * 100 If Application.Caller.Rows.Count > 1 Then CVE = Application.Transpose(CV_1) Else: CVE = CV_1 End If End Function
---------- Ange Ounis ----------
Merci beaucoup.
L'erreur provenait que je voulais avoir les résultats en colonne donc je selectionnais A12:A14.
Es-ce possible dans ce sens?
Bonne soirée
Pas de problème chez moi, ta fonction donne les résultats attendus.. Tu sélectionnes bien A1:C1 (par exemple) pour entrer ensuite en A1 qqchose comme :
=CVE(A10:A50)
?
---------- Ange Ounis ----------
Merci, mais j'ai fais un essai avec 3 résultats:
Public Function CVE(ByRef Var1) Dim CV_1(2) As Variant CV_1(0) = WorksheetFunction.Average(Var1) CV_1(1) = WorksheetFunction.StDev(Var1) CV_1(2) = WorksheetFunction.StDev(Var1) / WorksheetFunction.Average(Var1) * 100 CVE = CV_1 End Function
Le résultat me donne 3 fois CV_1(0).
Ai-je oublié quelque chose ?
Tu dois créer une fonction qui renvoie un résultat de type Variant sous forme d'un tableau. Pour l'utiliser dans Excel, tu la valides comme une formule matricielle (Ctrl+Maj+Entrée). Exemple :
''''dans un module ordinaire Function Bidon(Param) Dim Arr(1) 'tableau "relais" Arr(0) = Param + 1000 Arr(1) = Param * 1000 Bidon = Arr End Function
''''dans Excel, sélectionne A1:B1 puis dans A1 : =Bidon(15) et valide par Ctrl+Maj+Entrée.
---------- Ange Ounis ----------
Dans Excel 2003.
Quel code VBA utiliser pour qu'une "function" donne 2 résultats ou plus, tel que la résolution d'une équation du second degré, par exempl.
Oui :
Public Function CVE(ByRef Var1)
Dim CV_1(2) As Variant
CV_1(0) = WorksheetFunction.Average(Var1)
CV_1(1) = WorksheetFunction.StDev(Var1)
CV_1(2) = WorksheetFunction.StDev(Var1) / _
WorksheetFunction.Average(Var1) * 100
If Application.Caller.Rows.Count > 1 Then
CVE = Application.Transpose(CV_1)
Else: CVE = CV_1
End If
End Function
----------
Ange Ounis
----------
Merci beaucoup.
L'erreur provenait que je voulais avoir les résultats en colonne donc je
selectionnais
A12:A14.
Es-ce possible dans ce sens?
Bonne soirée
Pas de problème chez moi, ta fonction donne les résultats attendus..
Tu sélectionnes bien A1:C1 (par exemple) pour entrer ensuite en A1 qqchose comme :
=CVE(A10:A50)
?
----------
Ange Ounis
----------
Merci, mais j'ai fais un essai avec 3 résultats:
Public Function CVE(ByRef Var1)
Dim CV_1(2) As Variant
CV_1(0) = WorksheetFunction.Average(Var1)
CV_1(1) = WorksheetFunction.StDev(Var1)
CV_1(2) = WorksheetFunction.StDev(Var1) / WorksheetFunction.Average(Var1) *
100
CVE = CV_1
End Function
Le résultat me donne 3 fois CV_1(0).
Ai-je oublié quelque chose ?
Tu dois créer une fonction qui renvoie un résultat de type Variant sous forme
d'un tableau. Pour l'utiliser dans Excel, tu la valides comme une formule
matricielle (Ctrl+Maj+Entrée).
Exemple :
''''dans un module ordinaire
Function Bidon(Param)
Dim Arr(1) 'tableau "relais"
Arr(0) = Param + 1000
Arr(1) = Param * 1000
Bidon = Arr
End Function
''''dans Excel, sélectionne A1:B1 puis dans A1 :
=Bidon(15)
et valide par Ctrl+Maj+Entrée.
----------
Ange Ounis
----------
Dans Excel 2003.
Quel code VBA utiliser pour qu'une "function" donne 2 résultats ou plus, tel
que la résolution d'une équation du second degré, par exempl.
Public Function CVE(ByRef Var1) Dim CV_1(2) As Variant CV_1(0) = WorksheetFunction.Average(Var1) CV_1(1) = WorksheetFunction.StDev(Var1) CV_1(2) = WorksheetFunction.StDev(Var1) / _ WorksheetFunction.Average(Var1) * 100 If Application.Caller.Rows.Count > 1 Then CVE = Application.Transpose(CV_1) Else: CVE = CV_1 End If End Function
---------- Ange Ounis ----------
Merci beaucoup.
L'erreur provenait que je voulais avoir les résultats en colonne donc je selectionnais A12:A14.
Es-ce possible dans ce sens?
Bonne soirée
Pas de problème chez moi, ta fonction donne les résultats attendus.. Tu sélectionnes bien A1:C1 (par exemple) pour entrer ensuite en A1 qqchose comme :
=CVE(A10:A50)
?
---------- Ange Ounis ----------
Merci, mais j'ai fais un essai avec 3 résultats:
Public Function CVE(ByRef Var1) Dim CV_1(2) As Variant CV_1(0) = WorksheetFunction.Average(Var1) CV_1(1) = WorksheetFunction.StDev(Var1) CV_1(2) = WorksheetFunction.StDev(Var1) / WorksheetFunction.Average(Var1) * 100 CVE = CV_1 End Function
Le résultat me donne 3 fois CV_1(0).
Ai-je oublié quelque chose ?
Tu dois créer une fonction qui renvoie un résultat de type Variant sous forme d'un tableau. Pour l'utiliser dans Excel, tu la valides comme une formule matricielle (Ctrl+Maj+Entrée). Exemple :
''''dans un module ordinaire Function Bidon(Param) Dim Arr(1) 'tableau "relais" Arr(0) = Param + 1000 Arr(1) = Param * 1000 Bidon = Arr End Function
''''dans Excel, sélectionne A1:B1 puis dans A1 : =Bidon(15) et valide par Ctrl+Maj+Entrée.
---------- Ange Ounis ----------
Dans Excel 2003.
Quel code VBA utiliser pour qu'une "function" donne 2 résultats ou plus, tel que la résolution d'une équation du second degré, par exempl.