OVH Cloud OVH Cloud

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

13 réponses
Avatar
Iznogood1
Bonjour,

Exemple simpliste =E0 fin d'illustration :

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


Quand je duplique la feuille manuellement, tout est OK.
Si je la duplique par VBA (ActiveSheet.Copy After:=3DActiveSheet)
la formule n'est pas "calcul=E9e/mise =E0 jour" et renvoie {3\3} !


Voir la d=E9mo ci-jointe http://cjoint.com/?EABpczObRmH

Est-ce un bug d'XL?
(version test=E9e : XL 2007)

Merci

3 réponses

1 2
Avatar
MichD
Un autre petit exemple :

Suppose que tu as en A1 ceci : 1+2+3+4 (sans le symbole =") et que tu
veux faire la somme à partir d'une autre cellule, peux-tu le faire même en
utilisant la fonction "Indirect()" ? Tu vas avoir besoin d'une fonction
personnalisée ressemblant à ceci :
'-----------------------------------------------
Function Eval(Rg As Range)
Eval = Evaluate("sum(" & Rg & ")")
End Function
'-----------------------------------------------

et dans une cellule la formule : =Eval(A1)

Pourtant,
En VBA, c'est relativement facile : Msgbox Evaluate("sum(" & Range("A1") &
")")


Encore une fois, il y a des différences entre ce que le code peut faire et
ce que la feuille sait faire!
Avatar
GL
Le 30/01/2015 12:37, MichD a écrit :

Les créateurs (programmeurs) de la feuille et
du code VBA ne sont pas les mêmes et je suppose qu'ils répondent à des
prérogatives propres à leur environnement et qu'il y a des différences...




Ah ! Mamamia !
Si seulement Micro$oft pouvait n'avoir jamais inventé le Basic !!!
Avatar
Patrick
re,

ici aussi il y a des spécialistes :)
http://www.mrexcel.com/forum/forum.php


Patrick

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

Bonjour,

Exemple simpliste à fin d'illustration :

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


Quand je duplique la feuille manuellement, tout est OK.
Si je la duplique par VBA (ActiveSheet.Copy After:¬tiveSheet)
la formule n'est pas "calculée/mise à jour" et renvoie {33} !


Voir la démo ci-jointe http://cjoint.com/?EABpczObRmH

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

Merci






---
L'absence de virus dans ce courrier electronique a ete verifiee par le logiciel antivirus Avast.
http://www.avast.com
1 2