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
 
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
 

Statistiques des forums

Discussions
315 096
Messages
2 116 184
Membres
112 678
dernier inscrit
arno12345678