Je rencontre des problèmes avec un script VBA. La fonction remplit une feuille avec certaines formules. Il fonctionne très bien la plupart du temps, mais quand je le lance sur un ensemble de données plus ... il se bloque avec:Problème Excel AutoFill
Erreur d'exécution « 1004 »: La méthode AutoFill de classe Range n'a pas
Les points de débogueur jusqu'au dernier appel AutoFill. Quand je regarde la feuille, il semble que l'appel AutoFill a travaillé sur les 3/4 du chemin mais s'arrête.
With Sheets("OPENS")
' Fill OPENS formulas
.Range("B" & firstRowOPENS - 3) = "=DATE(YEAR($B$1), MONTH($B$1)+2, DAY($B$1))"
.Range("B" & firstRowOPENS - 3).NumberFormat = "[$-409]mmm-yy;@"
.Range("C" & firstRowOPENS - 3) = "=C1+2"
.Range("B" & firstRowOPENS - 1) = "=SUBTOTAL(109,B" & firstRowOPENS & ":B" & lastRowOPENS & ")"
.Range("B" & firstRowOPENS - 1).AutoFill .Range("B" & firstRowOPENS - 1 & ":" & lastColOPENS & firstRowOPENS - 1), xlFillValues
.Range("B" & firstRowOPENS) = "=SUM(C" & firstRowOPENS & ":" & lastColOPENS & firstRowOPENS & ")"
.Range("C" & firstRowOPENS).FormulaArray = "=SUM(('Combined Input'!R2C2:R" & lastRowCI & "C2=RC1) * ('Combined Input'!R2C45:R" & lastRowCI & "C45=R2C) * ('Combined Input'!R2C43:R" & lastRowCI & "C43 = R1C4) * INDEX('Combined Input'!R2C5:R" & lastRowCI & "C40, 0,R" & firstRowOPENS - 3 & "C3,1)) * R[-" & (lastRowOPENS - firstRowOPENS + 5) * 2 & "]C" & OPENS_PROB_COL
.Range("C" & firstRowOPENS).AutoFill .Range("C" & firstRowOPENS & ":" & lastColOPENS & firstRowOPENS), xlFillValues
If lastRowOPENS > firstRowOPENS Then
.Range("B" & firstRowOPENS & ":" & lastColOPENS & firstRowOPENS).AutoFill .Range("B" & firstRowOPENS & ":" & lastColOPENS & lastRowOPENS), xlFillValues
End If
setBorders .Range("A" & firstRowOPENS - 2 & ":" & lastColOPENS & lastRowOPENS)
End With
Une suggestion?
Edit:
J'ai trouvé le problème. http://support.microsoft.com/kb/166342
« Dans Excel 2003 et dans les versions antérieures d'Excel, une seule feuille peut contenir un maximum de 65472 formules de tableau qui font référence à une autre feuille de calcul Si vous veulent utiliser plus de formules, diviser les données en plusieurs feuilles de calcul afin qu'il y ait moins de 65,472 références à une seule feuille. «
Il semble être coincé à la ligne 1500 sur ma feuille.Même lorsque j'essaie de remplir manuellement ... il ne fonctionne pas – lucks
d'où vient le dernierColOPENS? – guitarthrower
il est calculé avant ce bloc. pour avoir quelque chose à voir avec la définition de FormulaArray – lucks