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
 

Discussions similaires

Réponses
1
Affichages
387
Haut Bas