Bonjour,
J'ai fait une macro qui étend une formule à l'ensemble des lignes d'un tableau. Je souhaite ensuite que les formules soient stockées sous forme de valeur car le tableur est lourd et cela évite de recalculer. Pour cela j'ai fait un copié/collé Valeurs. Toutefois, à chaque fois que cette action s'exécute, Excel rame et mets du temps.
Auriez-vous un autre moyen de faire plus rapide ?
Voici la partie de mon code concerné :
'Formule à faire déroulée
Cells(2, lCol).Formula = "=SUMIFS('2015-2022'!$P:$P,'2015-2022'!$AG:$AG,$A2,'2015-2022'!$L:$L,""<>Rejeté"",'2015-2022'!$AA:$AA,2015,'2015-2022'!$L:$L,""<>Sans objet"",'2015-2022'!$V:$V,""UE"")+SUMIFS('2015-2022'!$P:$P,'2015-2022'!$AG:$AG,$A2,'2015-2022'!$L:$L,""<>Rejeté"",'2015-2022'!$AA:$AA,2015,'2015-2022'!$L:$L,""<>Sans objet"",'2015-2022'!$V:$V,""UE2"")"
'Déroule la formule jusqu'à la dernière ligne
Range(Cells(2, lCol), Cells(DernLigne, lCol)).FillDown
'Copie la colonne et colle en valeur
Columns(lCol).Copy
Columns(lCol).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Je précise que même en ne sélectionnant que les cellules jusqu'à la dernière ligne, le temps demandé pour 1 copié/collé est important. Je dois faire cette opération (entre autre) sur 96 colonnes et sur 100 lignes.
En vous remerciant