Saisie d'une formule de tableau long dans Excel VBA en utilisant la méthode Remplacer comme solution de contournement

J'essaie d'éviter la limite de 255 caractères lors de la saisie d'une formule de tableau via VBA. J'ai regardé en ligne et j'ai trouvé une solution prometteuse de briser le tableau en morceaux et de les combiner à nouveau.

Cependant, ma fonction .replace ne remplace rien.

J'ai été très prudent de veiller à ce que, dans chaque étape du .replace, la formule obtenue soit logique.

Voici ce que j'ai jusqu'ici:

Sub ArrayMacro() Dim theFormulaPart1 As Ssortingng Dim theFormulaPart2 As Ssortingng Dim theFormulaPart3 As Ssortingng theFormulaPart1 = "=IF(SUM(IF(COUNTIFS(Ratting!A:A,'Site Masortingx'!$B$1:$FA$1,Ratting!K:K,'Site Masortingx'!A2)>=1,1,0))=1,1,1)" theFormulaPart2 = "SUMIF(Ticks!E:E,'Site Masortingx'!A2,Ticks!C:C)/IF(COUNTIFS(Ratting!N:N,TRUE,Ratting!K:K,'Site Masortingx'!A2)>0,"",1))" theFormulaPart3 = "COUNTIFS(Ratting!A:A,IF(COUNTIFS(Ratting!N:N,TRUE,Ratting!K:K,'Site Masortingx'!A2)>0,"",INDEX(Ratting!A:A,MATCH('Site Masortingx'!A2,Ratting!K:K,0))),Ratting!K:K,'Site Masortingx'!A2)" With Sheets("Site Masortingx").Range("FB2") .FormulaArray = theFormulaPart1 .Replace "1,1)", theFormulaPart2, xlPart .Replace "1))", theFormulaPart3, xlPart End With End Sub 

La formule dans la cellule rest la même chaque fois que je lance la macro. Traverser le code ne lance aucune erreur ou indique ce qui ne va pas. Juste, rien ne se passe.

Les deux strings de rlocation ne sont pas définies correctement. Vous devriez utiliser la string """"" au lieu de "" intérieur de la string constante.

Deuxième problème – manquant )) à la fin de theFormulaPart3 .

 theFormulaPart2 = "SUMIF(Ticks!E:E,'Site Masortingx'!A2,Ticks!C:C)/IF(COUNTIFS(Ratting!N:N,TRUE,Ratting!K:K,'Site Masortingx'!A2)>0,"""",1))" theFormulaPart3 = "COUNTIFS(Ratting!A:A,IF(COUNTIFS(Ratting!N:N,TRUE,Ratting!K:K,'Site Masortingx'!A2)>0,"""",INDEX(Ratting!A:A,MATCH('Site Masortingx'!A2,Ratting!K:K,0))),Ratting!K:K,'Site Masortingx'!A2)))"