Bonjour,

Sur une ligne, j'ai plusieurs formules qui utilisent "ligne()" pour retourner la valeur de la ligne.
Je n'ai pas de vrai problème de lenteur, mais je pense qu'il faut mieux chercher à optimiser ce qui peut l'être...

J'ai compris que la fonction ligne() est "volatile". Mais je ne comprends pas les conséquences pratiques pour excel.
A quel point cette fonction"ligne()" est-elle consommatrice de ressources sur des tableaux de 150 colonnes x 100 lignes ?

J'ai retenu qu'excel recalcule les fonctions volatiles à chaque fois qu'il effectue un recalcul.
C'est à dire que si je modifie la cellule A2 (qui contient par exemple "=1+1") et qu'en D12 j'ai une fonction du type "=ligne()", alors excel va recalculer à la fois A2 et D12 alors même que D12 ne contient aucun éléments modifié par le calcul de A2 ?
Est-ce comme ça qu'excel déclenche les calculs des fonctions volatiles ? Si tel est le cas je comprends qu'il faille en limiter l'usage...

Si sur ma ligne 12 j'ai une dizaine de formules qui utilisent "ligne()" pour repérer le n° de la ligne, est-ce qu'excel effectue le calcul de ligne() dans chaque formule où est-ce qu'il garde en mémoire le résultat de "ligne()" ? S'il ne garde pas en mémoire ceci, il me semble que le meilleur moyen d'optimiser les formules est de mettre le résultat de "ligne()" dans une cellule dans la marge et de faire référence à cette cellule plutôt que d'écrire ligne() dans chaque formule. Est-ce que cela permet d'optimiser un peu les choses ?

Je vous remercie pour votre éclairage technique !