OVH Cloud OVH Cloud

Code de Fonction VBA en tant que formule matricielle?

3 réponses
Avatar
platour
Bonjour =E0 tous,
Je voudrais =E9crire sous VBA une proc=E9dure de type Fonction me
permettant de retourner un r=E9sultat sous forme matricielle.
S'il est facile de saisir les donn=E9es d'entr=E9es (qui sont les
arguments de la fonction), je ne sais pas comment faire pour retourner
le r=E9sultat dans les bonnes cellules (celles qui ont =E9t=E9
s=E9lectionn=E9es dans la feuille de calcul pour y placer le r=E9sultat
matriciel de la fonction dont la saisie a =E9t=E9 valid=E9 par
CTRL+MAJ+ENTR=C9E).
Je n'ai pas trouv=E9 de renseignements sur le sujet, comment faire ?
Je vous remercie d'avance pour votre amicale assistance.
Un petit pgm d'exemple basic serait id=E9al, ex : (B2:B5) =3D 2 * (A2:A5)

3 réponses

Avatar
AV
Un petit pgm d'exemple basic serait idéal, ex : (B2:B5) = 2 * (A2:A5)


[B2:B5].FormulaArray = "=2*A2:A5"

AV

Avatar
JB
Bonjour,

Exemple:

Function NomsTousOnglets() ' fonction matricielle
Application.Volatile
Dim temp()
ReDim temp(1 To Sheets.Count)
j = 1
For i = 1 To Sheets.Count
temp(j) = Sheets(i).Name
j = j + 1
Next i
NomsTousOnglets = Application.Transpose(temp)
End Function

http://cjoint.com/?cqq0b1XQqp

Cordialement JB
Avatar
platour
Bonjour,
Je connaissais la Fonction Transpose pour ce qu'elle réalise sur les
vecteurs et matrices, mais là, je suis vraiment surpris de ce quelle
permet de faire, et à la lecture des aides disponibles, rien ne me
permettait d'imaginer ce type d'application possible. Aussi merci
beaucoup pour cette solution qui marche super bien et permet de
résoudre mon problème.
Cordialement.
PL