VBA - Bug lors de la duplication d'une feuille avec formule matricielle

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Iznogood1

XLDnaute Impliqué
Bonjour,

Exemple simpliste à fin d'illustration :

Soit la formule matricielle
Code:
={SOMME(INDEX({1\2;4\5};0;{1\2}))}
sur 2 cellules adjacentes (validée par shift + entrée)
qui renvoie la somme de chaque colonne, soit la matrice {5\7}
(1+4 = 5 et 2+5 =7).


Quand je duplique la feuille manuellement, tout est OK.
Si je la duplique par VBA
Code:
ActiveSheet.Copy After:=ActiveSheet
la formule n'est pas "calculée/mise à jour" et renvoie {3\3} !


Voir la démo ci-jointe Ce lien n'existe plus

Serait-ce un bug d'XL ?
(version testée : XL 2007)

Merci
 
Re : VBA - Bug lors de la duplication d'une feuille avec formule matricielle

La solution

Code:
ActiveSheet.Copy After:=ActiveSheet
DoEvents
Application.SendKeys "^%+{F9}", True

pour forcer un recalcule complet du fichier, y-compris les fonctions non volatiles.

Merci Isabelle.
 
Re : VBA - Bug lors de la duplication d'une feuille avec formule matricielle

Merci Pierrot,
malheureusement
Code:
Application.Calculate
ne fonctionne pas.

Plus étrange encore
Code:
Application.CalculateFull
modifie la matrice {5\7} de la feuille originale et la transforme en {3\3} !

Alors que CaulculateFull est le code génèré par l'enregistreur de macro quand on fait CTRL+ALT+F9.
Combinaison qui, elle, met bien à jour les matrices que ce soit par saisie au clavier ou par SendKeys.

Vraiment bizarre ce comportement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour