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