Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Copie de formule matricielle en VBA

2 réponses
Avatar
Bernard SC
Bonjour,

Je cherche à recopier les formules d'une colonne modèle vers une autre
colonne.
Cela fonctionne, aussi bien manuellement que par une séquence en VBA.

Je veux aussi changer, à l'intérieur des formules, le nom d'une feuille
référencée (le cas classique de la feuille "annuelle" qui résume les 12
feuilles mensuelles).
Pas de problème, ni manuellement, ni par VBA.

Maintenant, j'ai une formule matricielle. Et là problème !
Manuellement je modifie la formule après l'avoir copiée, puis je valide par
CTRL-ALT-Entrée.
Mais comment je fais par VBA ? quand j'ai modifié la formule, elle n'est
plus matricielle ...

Comment la faire redevenir matricielle ?

Merci de vos suggestions.
Bernard

2 réponses

Avatar
Starwing
Bonsoir,

Une façon:
ActiveCell.FormulaArray = ActiveCell.Formula

Une autre par:
Ctrl + Shift + Entrée
En VBA, il me semble que c'est:
Sendkeys "%FP~",1
ou bien
SendKeys "{^}({+}{ENTER})"
Mais c'est à valider!

--
Au plaisir de vous revoir ...
Visitez >> http://www.excelabo.net
Le merveilleux site de Misange
Starwing

--
"Bernard SC" a écrit dans le message de
news:
Bonjour,

Je cherche à recopier les formules d'une colonne modèle vers une autre
colonne.
Cela fonctionne, aussi bien manuellement que par une séquence en VBA.

Je veux aussi changer, à l'intérieur des formules, le nom d'une feuille
référencée (le cas classique de la feuille "annuelle" qui résume les 12
feuilles mensuelles).
Pas de problème, ni manuellement, ni par VBA.

Maintenant, j'ai une formule matricielle. Et là problème !
Manuellement je modifie la formule après l'avoir copiée, puis je valide
par

CTRL-ALT-Entrée.
Mais comment je fais par VBA ? quand j'ai modifié la formule, elle n'est
plus matricielle ...

Comment la faire redevenir matricielle ?

Merci de vos suggestions.
Bernard




Avatar
Bernard SC
Merci pour le FormulaArray, je ne l'avais pas vu...

Quant à générer un Ctrl + Shift + Entrée, je n'aurais jamais pensé à cette
solution (si c'est une solution...)

J'avais trouvé un contournement à mon problème:
utiliser SommeProd au lieu de formules matricielles, c'est finalement plus
lisible et moins piégeux (pour ce que je voulais faire).

Bernard

"Starwing" a écrit dans le message de news:

Bonsoir,

Une façon:
ActiveCell.FormulaArray = ActiveCell.Formula

Une autre par:
Ctrl + Shift + Entrée
En VBA, il me semble que c'est:
Sendkeys "%FP~",1
ou bien
SendKeys "{^}({+}{ENTER})"
Mais c'est à valider!

--
Au plaisir de vous revoir ...
Visitez >> http://www.excelabo.net
Le merveilleux site de Misange
Starwing

--
"Bernard SC" a écrit dans le message de
news:
Bonjour,

Je cherche à recopier les formules d'une colonne modèle vers une autre
colonne.
Cela fonctionne, aussi bien manuellement que par une séquence en VBA.

Je veux aussi changer, à l'intérieur des formules, le nom d'une feuille
référencée (le cas classique de la feuille "annuelle" qui résume les 12
feuilles mensuelles).
Pas de problème, ni manuellement, ni par VBA.

Maintenant, j'ai une formule matricielle. Et là problème !
Manuellement je modifie la formule après l'avoir copiée, puis je valide
par

CTRL-ALT-Entrée.
Mais comment je fais par VBA ? quand j'ai modifié la formule, elle n'est
plus matricielle ...

Comment la faire redevenir matricielle ?

Merci de vos suggestions.
Bernard