web-dev-qa-db-fra.com

Insérer une formule matricielle via VBA

J'utilise VBA et j'ai besoin d'insérer une formule matricielle (celle que si je l'écris manuellement, je vais appuyer sur Ctrl+Shift+Enter et pas seulement Enter). Quand je l'insère comme une formule régulière, cela ne fonctionne pas, ni quand je le mets avec {} autour d'elle ... Quelle est la bonne façon d'écrire cette formule en utilisant VBA?

La formule est la suivante:

 =INDEX(subset!R1C1:R2472C10,MATCH(1,(RC1=subset!C1)*(RC2=subset!C2)*(RC5=subset!C5)*(RC6=subset!C6),0),10)  
14
Bramat

Vous recherchez la propriété FormulaArray que vous pouvez définir pour une cellule comme ceci:

Range("A1").FormulaArray = "=INDEX(subset!R1C1:R2472C10,MATCH(1,(RC1=subset!C1)(RC2=subset!C2)(RC5=subset!C5)*(RC6=subset!C6),0),10)"

Voir la documentation ici: http://msdn.Microsoft.com/en-us/library/office/ff837104%28v=office.15%29.aspx

21
Gareth