VBA - Problème syntaxe formule matricielle

  • Initiateur de la discussion Initiateur de la discussion petith
  • Date de début Date de début

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 !

petith

XLDnaute Nouveau
Bonjour,

Tout d'abord je remercie les membres de ce forum qui m'aident beaucoup dans mon travail. Mais j'ai là un problème dont je n'ai pas trouvé de réponse sur le forum.

J'ai une formule matricielle enregistrée avec l'assistant qui fait buguer la macro lors de son execution avec le message "Impossible de définir la propriété FormulaArray dans la classe Range". En regardant l'aide j'ai compris que la formule devait être en anglais et avec en mode "R1C1" et non "A1". Mais il me semble que ma formule respecte ces conditions. La formule est très longue mais sur Excel 2010 ça doit être ok. Je ne demande surtout pas de corriger ma formule (ça m'apprendra à faire des choses trop compliquées), mais est-ce quelqu'un voit un problème de syntaxe dans cette formule? Si oui comment le résoudre?

Pour info, la formule sert à corriger des données et ratrouper des doublons. Voici ma formule :

Code:
"=IF(AND(COUNTIF(C[-5],RC[-5])=COUNTIF(SystemC!C[-5],RC[-5]),SUMIF(C[-5],RC[-5],C[-4])=SUMIF(SystemC!C[-5],RC[-5],SystemC!C[-4]),SUMIF(C[-5],RC[-5],C[-3])=SUMIF(SystemC!C[-5],RC[-5],SystemC!C[-3])),INDEX(SystemC!C,MATCH(1,(SystemC!C[-6]=RC[-6])*(SystemC!C[-5]=RC[-5])*(SystemC!C[-4]=RC[-4])*(SystemC!C[-3]=RC[-3]),0)),IF(COUNTIF(C[-5],RC[-5])>1,IF(COUNTIF(R[-1]C2:R6C[-" & _
"])=0,SUMIF(R[1]C[-5]:R400C2,RC[-5],R[1]C[-3]:R400C4)-SUMIF(R[1]C[-5]:R400C2,RC[-5],R[1]C[-4]:R400C3),1),))"

Un grand merci à ceux qui m'aideront
 
Dernière édition:
Re : VBA - Problème syntaxe formule matricielle

Je n'ai pas réglé mon problème mais je l'ai contourné :
J'ai isolé la partie qui nécéssitait d'être validée avec Ctrl+MAJ+Entrée dans une cellule (M1). Comme c'est juste une formule index equiv, VBA a accepté cette formule en FormulaArray. Ensuite j'ai modifié ma formule : Si les conditions sont remplies, alors M1, sinon...
Visiblement le FormulaArray n'aime pas les SI, ou en tout cas il y a une syntaxe spécifique que je ne connais pas.
Cette solution ne s'applique donc pas aux formules matricielles qui comportent obligatoirement des somme.si, si, nb.si,...

Merci à ceux qui ont visité ce post et qui auraient été prêt à m'aider s'ils le pouvaient.

J'espère que cela pourra aider d'autres personnes.
 
- 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

Réponses
4
Affichages
697
Réponses
5
Affichages
324
  • Question Question
Microsoft 365 VBA sur outlook
Réponses
14
Affichages
949
Réponses
11
Affichages
712
Réponses
5
Affichages
474
Réponses
22
Affichages
1 K
Retour