Formule qui ne prend en compte que les cellules non vides
Bonjour à tous,
Mon fichier excel ne pèse que 96 Ko et pourtant il met plusieurs secondes à recalculer l'ensemble des formules liées entre elles.
La raison est la suivante:
J'ai une liste de données (avec l'option "liste" de excel qui s'agrandit au fur et à mesure que j'y ajoute de nouveaux éléments).
Sur une autre feuille excel, j'ai un tableau qui résume les données de cette liste par différentes formules (sommeprod, somme.si, estnum(cherche()), etc.)
Le problème:
Dans ces formules, j'ai dû indiquer l'étendue de la plage de cellules (de la liste de données) pour le calcul, par exemple, somme.si(E2:E100;"oui";F2:F100)
Etant donné l'ajout permanent de nouvelles données dans la liste, la plage initiale de la ligne 1 à 100 a été dépassée depuis et les calculs sont faux.
J'ai donc, par mesure de précaution, étendu à plage à la ligne 4 000 par exemple pour prendre en compte les futurs ajouts de données jusqu'à cette ligne.
Maintenant, le temps de calcul de toutes ces formules est beaucoup plus long qu'avant.
La solution ?
Y a-t-il un moyen que ces différentes formules ne prennent en compte que les lignes remplies (non vides) de la liste de données, ce qui allègera le temps de calcul tout en étant sûr que toutes les nouvelles entrées seront toujours prises en compte?
Le même problème se pose pour la sélection d'une plage pour créer un TCD. Comment faire pour que ce dernier prenne toujours en compte la dernière ligne remplie de la base/liste de données ?
Merci d'avance à vous,
loulou190
Bonjour
Dans ces formules, j'ai dû indiquer l'étendue de la plage de cellules (de la liste de données) pour le calcul, par exemple, somme.si(E2:E100;"oui";F2:F100)
Si ton tableau contient une colonne sans ligne vide entre les données, tu peux définir des "champs dynamiques" (ajustables aux données)
Ex: ton tableau est en Feuil1 et ta colonne A ne contient pas de vide entre les données
Commande "Inserion" "Nom" "Définir"
Dans "Nom dans le classeur" tu tapes un nom pour le champ, disons Haut (Il vaut mieux mettre un nom en rapport avec les données pour des questions pratiques de mémoire)
Dans "Fait référence à:" tu entres la formule
=DECALER(Feuil1!$A$2;;;NBVAL(A:A))
et s'il y a un titre en A1
=DECALER(Feuil1!$A$2;;;NBVAL(A:A)-1)
puis, par exemple, pour tes colonnes E et F
Même manip pour E, et là (au cas ou il y a des vides)
=DECALER(Feuil1!$E$2;;;NBVAL(Haut)) mettons Nom2
idem pour F
=DECALER(Feuil1!$F$2;;;NBVAL(Haut)) mettons Nom3
Ta formule
somme.si(E2:E100;"oui";F2:F100)
devient
somme.si(Nom2;"oui";Nom3)
Cordialement
C'est complexe à première vue mais...Ca marche !!!
Merci Amadéus pour ton aide!
loulou190