Accélerer le calcul dans un fichier excel [Fermé]

Signaler
Messages postés
203
Date d'inscription
mercredi 11 juin 2014
Statut
Membre
Dernière intervention
7 avril 2017
-
Messages postés
203
Date d'inscription
mercredi 11 juin 2014
Statut
Membre
Dernière intervention
7 avril 2017
-
Bonjour,

Je suis entrain d'élaborer un fichier avec beaucoup de lignes (40000), il prend énormément de temps pour effectuer les calculs...
La fonction utilisée est: RecherchV

J'aimerais savoir SVP si vous auriez une solution pour accélérer le calcul dans ce fichier.

Mes actions:
- j'ai désactivé le calcul automatique.

En vous remerciant.

2 réponses

Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 219
Bonjour,

Dans la mesure où ton classeur n'est pas statique mais utilise 40000 formules il faut un temps de calcul non négligeable.
- revoir l'utilisation des formules et de l'agencement des données
- passer en manuel comme tu as fait
- utiliser un PC avec un SSD, beaucoup de mémoire et un processeur ultra performant.
- boire un café pendant le calcul ;-) ;-)
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
23621
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
8 novembre 2020
6 449
Bonjour,

Comment veux-tu qu'on te dise si c'est améliorable sans voir un extrait de ton fichier ?
eric
Messages postés
203
Date d'inscription
mercredi 11 juin 2014
Statut
Membre
Dernière intervention
7 avril 2017
>
Messages postés
23621
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
8 novembre 2020

Bonjour Eric,

Comme cité ci-dessus, le fichier est trop lourd, par contre il est super simple, la formule que j'utilise est :
=SIERREUR(SI(SI($C1="12";RECHERCHEV($F1;'TCD exemple'!$B:$AE;8;FAUX);"")="";"";SI($C1="12";RECHERCHEV($F1;'TCD exemple'!$B:$AE;8;FAUX);""));"")

C'est juste la multiplication des lignes qui le rend lent.

Cordialement.

Massimo
Messages postés
23621
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
8 novembre 2020
6 449
Si tu ne laisses que 100 lignes il sera plus léger.
On ne va pas passer 10 min à construire, sans doute mal, un fichier que tu as.
A vue de nez déjà 3-4 trucs sans sens et inutiles dans ta formule. Alors explique en plus en français ce que tu veux faire.
Entre autres :
- pourquoi tester "12" et non 12 ? Réponse peut-être dans le fichier...
- pourquoi si="" alors "", totalement inutile
- pourquoi 2 fois le même recherchev() ???
- ...
eric
Messages postés
203
Date d'inscription
mercredi 11 juin 2014
Statut
Membre
Dernière intervention
7 avril 2017

Ce n'est pas le but.
Sinon je ne serais pas sur ce forum à poser mes questions.

Alors en Français :
- le "12" au lieu de 12 parce que dans ma recherche le 12 numérique ne fonctionne pas... je pense que c'est une chaîne de caractères...
- dans un excel en général une case vide est reporté comme 0 par les formules.
- 2 fois la même recherche parce qu'il y a une condition avant (le vide)
-...

Merci
Messages postés
23621
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
8 novembre 2020
6 449
bonjour non plus,

Puisque ça te fatigue de construire un fichier de travail réduit, moi j'ai encore plus la flemme.
Je n'insiste donc pas, bonne continuation
eric
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
819
Bonsoir à tous,

c'est bien dommage massimo888 que tu ne veuilles pas fournir une partie suffisante de ton tableau pour obtenir de l'aide.

eriiic aurait pu transformer ta formule redondante en une formule équivalente avec un seul si et un seul recherchev. Tu aurais ainsi gagné 30% de temps de calcul.

ensuite, comme ça n'aurait sans doute pas été suffisant, il t'aurait développé un code VBA à base de tableau et de dictionary qui t'aurait fait passer le temps de traitement sous la seconde.

et ça, ça aurait intéressé tout le monde !!

cordialement
Messages postés
203
Date d'inscription
mercredi 11 juin 2014
Statut
Membre
Dernière intervention
7 avril 2017

Bonsoir JvDo,

Je n'ai pas refusé de le fournir...
Je ne l'ai pas sous la main.
Je fréquente le site depuis pas mal de temps et eriiic m'a déjà aidé.
Je ne peux pas l'obligé non plus.
Je vais essayer de le construire en partie et je te l'envoie, si cela te convient.

Merci.
Messages postés
203
Date d'inscription
mercredi 11 juin 2014
Statut
Membre
Dernière intervention
7 avril 2017

Bonsoir JvDo,

https://www.cjoint.com/c/FLmsbSOyfpY

Comme convenu j'ai fait le fichier demandé.

En te remerciant.

Cordialement.
Messages postés
53
Date d'inscription
jeudi 21 février 2013
Statut
Membre
Dernière intervention
28 février 2019
1
En regardant ton fichier, pour la validation du SI qui égale 0, tu pourrais la remplacer par une mise en forme conditionnelle... lorsque la réponse est 0 ta mise en forme pourrais remplir la cellule en blanc.
Messages postés
203
Date d'inscription
mercredi 11 juin 2014
Statut
Membre
Dernière intervention
7 avril 2017

Ok je vais essayer...
Merci!