Vitesse fonction

Résolu
CHARLYJACK Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Voilà je manipule au travail de gros fichiers avec plein de fonctions
du type Recherche V .....

Ces fichiers sont très lents alors ma question est simple
le fait de remplacer une fonction excel classique dans les cellules
par une fonction personnalisée reliée à du vba peut il règler le problème.

Un grand merci à toutes et à tous

Charlyjack



A voir également:

3 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

lorsqu'on a beaucoup de formules comme ça, le plus simple est de garder les formules sur 1 ligne, et de faire un copier-collage spécial valeur sur les autres.
La ligne conservée servira, en la recopiant vers le bas, à faire les mise à jour du tableau.

eric
3
CHARLYJACK Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour Eric,

et merci de l'interet que tu portes à ma requête,
J'avais envisagé ta solution au départ j'avais répété la même ligne 10000 fois, j'ai diminué mais ça reste long.

Pour mieux comprendre voici le fichier

https://www.cjoint.com/?BGdwAw7Ztn4

Bien entendu les exemples sont fictifs mais ce tableau contient plus d une centaines de références, L'interêt est d'avoir toutes les infos utiles grace à un simple code.

J'ai lu que les tableaux sont des variables vba et qu'il est possible de gagner du temps par ce biais quand penses tu ?


merci Charly
0
CHARLYJACK Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   1
 
En y réfléchissant j'ai même utilisé ta solution mais pour d'autres raisons : une macro pour effacer les formules et les remplacer par les valeurs ! comme quoi c est une bonne idée !
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Re,

Déjà tu peux remplacer :
=SI(ESTNA(RECHERCHEV(G3;Liste;2));"";RECHERCHEV(G3;Liste;2))
par :
=SI(NB.SI(Liste;G3);RECHERCHEV(G3;Liste;2);"")
qui est beaucoup plus léger.

Mais surtout pourquoi préparer 10000 lignes ?
Mets ce qu'il faut et recopie vers le bas au fur et à mesure des besoins.

Le plus efficace reste de mettre les résultats au lieu des formules. Que ce soit par copier-coller ou macro, ce que tu as démarré apparement.

eric
0
CHARLYJACK Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   1
 
Salut Eric,

je vais essayer ta formule,

j'ai suivi ton conseil et j'ai déjà viré beaucoup de formules, au niveau de mon activité c'est pas génant. Le résultat est probant !

Encore merci à toi Eric pour le conseil qui s'avère efficace.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Re,

Pense à garder 1 ligne avec les formules si besoin.

Si tu travailles par macro pense à ajouter :
screenupdating = false avant d'écrire dans les cellules,
et :
screenupdating = true
en fin de macro

Ca évite l'écran qui part dans tous les sens et ça accélère considérablement.

eric
0
Raymond PENTIER Messages postés 58991 Date d'inscription   Statut Contributeur Dernière intervention   17 358
 
Il faut alléger et optimiser les formules, et utiliser des noms de plage.
Il faut aussi débarrasser l'ordinateur de tous les cookies & fichiers temporaires qui l'encombrent.
Il faut également éviter d'avoir plusieurs applications ouvertes simultanément.
Il faut enfin vérifier qu'une défragmentation du disque n'est pas nécessaire. .

Cordialement.
1
CHARLYJACK Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour Raymond

le problème vient des formules ,
ta première ligne m'interesse vivement par contre est ce que tu peux être un peu plus explicite .

https://www.cjoint.com/?BGdwAw7Ztn4

Tu peux trouver le fichier en question en suivant ce lien , bien entendu c'est une copie du fichier qui comporte une centaines de références !

merci de l'interet que tu porte à ma requete

Charly
0
Raymond PENTIER Messages postés 58991 Date d'inscription   Statut Contributeur Dernière intervention   17 358
 
Non.
-1