Optimiser les SELECT

Y compris Power BI, Power Query et toute autre question en lien avec Excel
N
NCC 1701
Membre fidèle
Membre fidèle
Messages : 449
Appréciation reçue : 1
Inscrit le : 4 septembre 2016
Version d'Excel : 95..2013 PC FR

Message par NCC 1701 » 17 septembre 2017, 13:23

...

Ce n'est qu'une piste à suivre eriiic !

Une voie à prendre... il reste à optimiser beaucoup.... mais vu le code... cela ressemble fort à "enregistrer macro"
Cordialement
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 17 septembre 2017, 19:05

Un bonjour à tous ! Avec mon petit grain de sel (pour me remettre dans le bain après quelques jours d'absence... :D )
Je partage l'avis de h2so4 et Eric sur le fait que VBA évalue au démarrage une fois pour toutes le terme de la boucle.
J'ai eu l'occasion d'avoir une discussion sur ce thème il y a quelques temps, et d'en faire la démonstration : une boucle type
For i = 1 to nb (avec nb initialisée à 30000), en cours d'exécution (en début de boucle...) on réinitialise nb à 15000, dons la boucle on sert une variable à la valeur de i. En fin de boucle, on vérifie que la variable a atteint la valeur 30000, et que i vaudra alors 30001, mais nb est bien à 15000 !

Après, il est sûr qu'un nombre de ligne de code plus réduit ne garantit pas une plus grande rapidité d'exécution, il faut voir l'ensemble des éléments en jeu...

Bonne soirée à tous.
E
Excellium
Membre habitué
Membre habitué
Messages : 52
Inscrit le : 22 avril 2016
Version d'Excel : 2010 FR

Message par Excellium » 18 septembre 2017, 11:38

Bonjour à tous,

Merci pour vos remarques. C'est compliqué pour moi de vous donner un fichier COMPREHENSIBLE car la totalité des données sont confidentielles.

J'ai noté la remarque concernant cette instruction :
For i = 2 To Sheets("DATABASE").[L65000].End(xlUp).Row
A priori, elle serait évaluée qu'une seule fois -> donc je laisse comme ça ?

Je reviens vers vous que maintenant car je n'étais pas chez moi ce weekend (donc pas de PC sous la main :roll: )


Merci pour votre retour,

Cdt,
Excellium
Tableau.zip
(297.26 Kio) Téléchargé 10 fois
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message