Simplification des =SI(

Fermé
Utilisateur anonyme - 22 janv. 2020 à 15:45
 Utilisateur anonyme - 23 janv. 2020 à 13:49
Bonjour,

Je manipule actuellement un Excel lourd.
Je me retrouve souvent à écrire dans des cellules :

=SI(*Grosse formule*>*Valeur quelconque*;*Grosse formule*;0)

Je déroule ce genre de fonctions sur des milliers de lignes, ce qui ralentit l'Excel.

Ma question est la suivante : Existe-t-il une astuce pour la fonction énoncée qui permettrait de ne pas avoir à écrire la *Grosse formule* deux fois dans le cellule ?

Merci d'avance !

3 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
22 janv. 2020 à 15:54
Bonjour
tout dépend de la "grosse formule" et des arguments qui, la composent!
sans savoir difficile de vous aider
peut on en savoir plus?
crdlmnt
0
Le document est très complexe et confidentiel.
J'attendais de toute façon de ce post une réponse de forme et non de fond.
Merci tout de même.
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 236
23 janv. 2020 à 00:25
Bonjour à tous,

pour moi non.
Pour simplifier il suffit de réfléchir sur :
=SI(A2>5;A2;0)

Impossible de 'factoriser' A2

La seule solution est d'inscrire ta grosse formule dans une colonne dédiée.
Le résultat pourra être utilisé x fois mais elle ne sera évaluée qu'une seule fois.
eric
0
Utilisateur anonyme
23 janv. 2020 à 09:47
Merci Eric pour la proposition.
Malheureusement la grosse formule est différente à chaque ligne. Je viens de tester, créer une autre colonne pour le calcul de la grosse formule et faire le SI dans la colonne initiale n'allège pas le document..
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 236
Modifié le 23 janv. 2020 à 10:28
Bonjour,

tu peux aussi regarder dans cette grosse formule si tu as des éléments répétés, que tu peux ressortir dans d'autres colonnes.
Les formules matricielles sont très gourmandes, c'est surtout ces parties qu'il faut chercher à optimiser au maximum.
Peut-être qu'avec un exemple de quelques lignes et des explications on pourrait t'indiquer des axes d'amélioration.
Une autre option serait de mettre les calculs en manuel le temps de faire les saisies confortablement et de le rétablir ensuite. Ca peut être fait par macro avec un bouton.
eric

0
Utilisateur anonyme
23 janv. 2020 à 10:53
Rebonjour,

J'essaie sans cesse de les améliorer, je découvre de nouvelles astuces tous les jours :)
Il n'y a aucune formule matricielle.
Le calcul manuel n'est pas possible car certains paramètres que l'utilisateur entre se calculent au fur et à mesure de la saisie (pour guider l'utilisateur). Il n'est pas prévu que l'Excel contienne des macros..
Merci pour les propositions !
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 236 > Utilisateur anonyme
Modifié le 23 janv. 2020 à 12:49
Attention aux matricielles qui se cachent comme Sommeprod()

Ceci pourrait t'intéresser : https://docs.microsoft.com/fr-FR/office/vba/excel/concepts/excel-performance/excel-tips-for-optimizing-performance-obstructions

Et si tu as des Recherchev(), je te conseille le double recherchev() pour un gain phénoménal : https://analystcave.com/excel-vlookup-vs-index-match-vs-sql-performance/
eric
0
Utilisateur anonyme > eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024
23 janv. 2020 à 13:49
Merci pour les conseils je vais regarder tout ça.
Les formules que j'utilise sont essentiellement des SI, des MIN et des INDEX.
0