besoin de gagner du temps sur le cacul de recherche dans gros fichier - VB/VBA/VBS - Programmation
Marsh Posté le 14-04-2016 à 06:08:53
bonjour,
Les tableaux devraient surement faire l'affaire...
Sous réserve que je n'ai pas trop mal interprété, la procédure suivante devrait faire l'affaire.
Durée d'exécution 14", mais comme je n'ai aucune formule il n'y a pas de recalcul.
Si tu recalcules ta feuille tu auras en plus le temps de recalcul habituel...
Code :
|
Hum... Je n'ai laissé que les commentaires utiles (pour moi)
A+
Marsh Posté le 15-04-2016 à 10:05:22
Est-ce que changer d'architecture et passer sur un SGBD (SGBDR ou NoSQL) pour le stockage des données serait envisageable ? Parce que vu le volume, tout faire avec Excel ne me semble pas raisonnable.
Marsh Posté le 02-04-2016 à 19:23:49
Bonjour,
Je cherche à optimiser une procédure vba sur un très gros fichier excel qui met plusieurs heures pour s'éxecuter.
J'ai dans ce fichier plusieurs feuilles relativement grosses, et je dois effectué plusieurs recherchev avec plusieurs conditions pour renseigner des colonnes dans l'onglet principal.
Le nombres de lignes à renseigner (entre 65000 et 100000 lignes) ainsi que le nombres de colonnes a renseigner (une vingtaine environ) rend cette procédure très longue (plusieurs heures )...
Je souhaite donc optimiser mon code afin de gagner le plus de temps possible, j'ai effectué plusieurs recherche sur ce forum et sur d'autres et j'ai trouvé des pistes qui me sembles intéressante mais mon niveau en VBA ne me permet pas de savoir si ces pistes seront ou non adapter à mon cas, ni laquelle serait la plus rapide à s'exécuter.
Parmi les pistes que j'ai noté les deux qui me semble le plus adaptées seraient: "Les variables tableaux" et/ou "Les Dicos".
Mes questions:
Pensez-vous que ces méthodes sont adaptées à ma situation?
Laquelle serait la plus efficace en temps de traitement? Pourquoi?
Existe t'il une autre méthode qui me ferait gagner plus de temps?
Selon la méthode la plus adaptée a ma situation, si vous avez des liens ou tutoriel afin d'apprendre et creuser le sujet je veux bien, sinon je chercherai...
Je vous joint ci-dessous une partie de "mon problème": une des 23 colonnes que je dois remplir. J'adapterai ensuite la solution retenue sur tout mon code, pour le test une seule colonne suffira bien!!
Voici donc un exemple concret d'une des colonnes de l'onglet principal que je dois remplir et les deux méthodes que je connaissent actuellement pour y parvenir:
Fichier Excel (avec les deux sub ci-dessous intégrées): http://www.cjoint.com/c/FDcrmAtfCwY
Code 1 procedure Formule Excel:
Code 2 procédure VBA:
Je vous remerci d'avance pour vos suggestions, messages, remarques, critiques... Toute aide est la bienvenue!