Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Incompatibilité de type .FormulaArray = .FormulaR1C1

WIsh_

XLDnaute Occasionnel
Bonjour à tous,

J'ai un soucis sur la ligne
Code:
.FormulaArray = .FormulaR1C1

Erreur d'exécution 13
incompatibilité de type

Avec le code suivant :
Code:
Private Sub formulaTABeng()

Dim lr3 As Long
Dim TabEng As ListObject

Set wk = ThisWorkbook
Set wsS13 = wk.Worksheets("TabGraphEng")
Set TabEng = wsS13.ListObjects("Tableau1")

lr3 = TabEng.DataBodyRange.Rows.Count + 9

With wsS13.Range("D10:D" & lr3)
.FormulaR1C1 = _
"=IF(COUNTIFS(IF(ISNA(INDEX(SKR[Montant engagé],MATCH([@KRC]&[@[L KRC]],SKR[KRC]&SKR[L KRC],0))),0,INDEX(SKR[Montant engagé],MATCH([@KRC]&[@[L KRC]],SKR[KRC]&SKR[L KRC],0))),"">""&0,IF(ISNA(INDEX(SKR[Montant engagé],MATCH([@KRC]&[@[L KRC]],SKR[KRC]&SKR[L KRC],0))),0,INDEX(SKR[Montant engagé],MATCH([@KRC]&[@[L KRC]],SKR[KRC]&SKR[L KRC],0))),""<""&1)=1,1,IF(ISNA(INDEX(" & _
        " SKR[Montant engagé],MATCH([@KRC]&[@[L KRC]],SKR[KRC]&SKR[L KRC],0))),0,INDEX(SKR[Montant engagé],MATCH([@KRC]&[@[L KRC]],SKR[KRC]&SKR[L KRC],0))))"
.FormulaArray = .FormulaR1C1
End With
wsS13.Range("D10:D" & lr3).Value = wsS13.Range("D10:D" & lr3).Value

End sub

Je n'arrive pas à trouver quel est le problème.

Merci d'avance si vous avez une idée,
Bien cordialement,
Wish
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour

ma foi, sans fichier pour tester, essayez d'écrire directement votre matricielle sans passer par la case formular1c1.

Bien cordialement, @+
VB:
Private Sub formulaTABeng()

Dim lr3 As Long
Dim TabEng As ListObject

Set wk = ThisWorkbook
Set wsS13 = wk.Worksheets("TabGraphEng")
Set TabEng = wsS13.ListObjects("Tableau1")

lr3 = TabEng.DataBodyRange.Rows.Count + 9

wsS13.Range("D10:D" & lr3).FormulaArray = "=IF(COUNTIFS(IF(ISNA(INDEX(SKR[Montant engagé],MATCH([@KRC]&[@[L KRC]],SKR[KRC]&SKR[L KRC],0))),0,INDEX(SKR[Montant engagé],MATCH([@KRC]&[@[L KRC]],SKR[KRC]&SKR[L KRC],0))),"">""&0,IF(ISNA(INDEX(SKR[Montant engagé],MATCH([@KRC]&[@[L KRC]],SKR[KRC]&SKR[L KRC],0))),0,INDEX(SKR[Montant engagé],MATCH([@KRC]&[@[L KRC]],SKR[KRC]&SKR[L KRC],0))),""<""&1)=1,1,IF(ISNA(INDEX(SKR[Montant engagé],MATCH([@KRC]&[@[L KRC]],SKR[KRC]&SKR[L KRC],0))),0,INDEX(SKR[Montant engagé],MATCH([@KRC]&[@[L KRC]],SKR[KRC]&SKR[L KRC],0))))"
wsS13.Range("D10:D" & lr3).Value = wsS13.Range("D10:D" & lr3).Value

End Sub
 

WIsh_

XLDnaute Occasionnel
Bonjour @Yeahou,

Cela ne fonctionne pas.

Ci-joint le fichier exemple demandé.

Serait-ce un problème lié à la taille maximum des formules matricielles ?

Bien cordialement,
Wish
 

Pièces jointes

  • Test1.xlsm
    23.5 KB · Affichages: 11
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…