Résolu Fichier excel long à mettre à jour sans raison

  • Auteur de la discussion Rafale23
  • Date de début

Rafale23

Nouveau membre
Bonjour,

Je vous explique : j'ai une feuille excel qui se complète lorsque j'appuie sur un bouton (que j'ai crée). Elle s'appuie sur une feuille template que j'ai crée, dans cette feuille il y a des fonctions (SUMIF, VLOOKUP..) qui doivent aller chercher des valeurs dans d'autres feuilles excel ( du même classeur je précise).
Lorsque je mets à jour cette feuille, cela prend 4 min, c'est très long. Je me suis dit que ca venait des formules qui mettent du temps à parcourir les feuilles alors j'ai fait le test d'enlever toutes les formules de ma feuille template pour voir si le problème venait de la... ET LA surprise : meme sans aucune formule dans la feuille template ma feuille mise à jour prend toujours 4 min alors qu'il n'y a aucune formule dedans.
Je n'arrive pas à identifier le problème... Pouvez vous m'aider ?

Cordialement,
 

Rafale23

Nouveau membre
Salut,
Quand j'appuie sur le bouton il génére la feuille à partir du template.
 

Rafale23

Nouveau membre
Yes du VBA. Mais le truc c'est pourquoi quand j'enlève toutes les formules de mon template le temps pour remplir ma feuille est toujours le même.
 

drul

Obscur pro du hardware
Staff
C'est ton code VBA qui n'est pas optimiser et c'est pour cela que c'est lent ...
Rien à voir avec les formules.
Si tu veux essayer de l'améliorer, c'est toujours faisable, et tu peux gagner énormément en temps d'execution !
 

Rafale23

Nouveau membre
Ok. Dis moi est ce que je me trompe en disant que ce sont les While dans le code VBA qui prennent le plus de temps ...
 

drul

Obscur pro du hardware
Staff
Meilleure réponse
Ce qui lent en VBA c'est les acces en lecture/écriture aux cellules des feuilles, si tu en fait beaucoup ta macro sera très lente a exécuter.
Le principe est donc de limiter un maximum le nombre de lecture/écriture que tu fais (copier 1000 x 1 cellule, prend beaucoup beaucoup plus de temps que de copier 1 x 1000 cellules ...)
 

Rafale23

Nouveau membre
Ok je vois ce que tu veux dire. Pour info : est ce qu'il existe une fonction ou un morceau de code spécifique qui permet justement de copier 1 fois énormément de cellules plutot que copier bcp de fois 1 cellule ?
 

drul

Obscur pro du hardware
Staff
Il y a en fait plusieurs solutions ...
Si tu postes ton code je pourrai te faire une proposition d'amélioration.

 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 124
Messages
6 717 732
Membres
1 586 356
Dernier membre
TommyStam
Partager cette page
Haut