Dérouler une formule et stocker le résultat en valeur

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

Bonjour,

Le plus simple est de transformer votre tableau en tableau structuré (menu --> Insertion --> Tableau), qui permet une recopie automatique des formules et formats lorsqu'une nouvelle ligne est ajoutée.

Bonjour @thev,

Merci pour ta réponse rapide et qui fonctionne.

Toutefois cela ne me convient pas. Le fichier est lourd 19Mo et ajouter un tableau avec des formules qui sont recalculées en permanence n'est pas gérable. L'ordi rame à mort... C'est pour cela que je passe par macro pour faire le calcul et coller les chiffres.

Je suis preneur d'autres solutions

Rechercher des sujets similaires à "derouler formule stocker resultat valeur"