Accelerer l'execution d'une application d'un fichier assez lourd

Fermé
benjamin - 20 déc. 2013 à 10:52
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 21 déc. 2013 à 09:11
Bonjour les amis,
J'ai une base excel très lourde à partir de laquelle j'ai effectué
une programmation VBA pour l'exécution automatique de certaines taches.
Mon problème est que, compte tenu de la taille de ma base de donnée excel, l'exécution prend assez de temps. (Un autre soucis est que j'utilise pour le moment un ordinateur portable a 4 processeurs. Or l'application fonctionnera sur un ordinateur fixe a capacité relativement tres faible).
Aidez moi a trouver un programme VBA pouvant accélérer l'exécution de mon application.


Merci d'avance pour vos reponses!!!
A voir également:

4 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
20 déc. 2013 à 11:00
Bonjour,

Il faudrait mettre votre fichier a dispo, en modifiant les donnees sensibles, pour que nous puissions evaluer la chose !!!!

click sur le ien suivant: https://www.cjoint.com/

Ne pas oublier e copier/coller le lien creer dans votre prochain message
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 20/12/2013 à 11:12
Bonjour,

Sur les tableaux volumineux style "liste de données", il vaut mieux utiliser Access et l'interroger, Excel n'étant pas un gestionnaire de bases de données
lire à ce sulet:
https://support.microsoft.com/fr-fr/office/utiliser-access-ou-excel-pour-g%c3%a9rer-vos-donn%c3%a9es-09576147-47d1-4c6f-9312-e825227fcaea?ocmsassetid=ha010210195&correlationid=d29af1f8-4e74-4502-b994-3b1f030cc1ff&ui=fr-fr&rs=fr-fr&ad=fr#BM2


si tu n'a pas access,
bien sûr ,utiliser le thread au départ:
application.screenupdating=false
tes codes VBA doivent utiliser des "variables- tableaux" qui reduisent considérablement le temps (env.15 à 30 fois)
pour étudier les variables -tableaux, un tuto:
https://silkyroad.developpez.com/vba/tableaux/

Au cas où:
proscrire au maximum possible les select, selection, copy-paste....

Michel
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 20/12/2013 à 11:15
au besoin,
mettre UN EXTRAIT du classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
0
Après avoir essayé Application.screenupdating=False '(au debut)
Application.screenupdating=False (à la fin)
je parvient a réduire le temps d'execution de 30%.
Par ailleurs, je soumettrai la version finale à l'appreciation des autres. S'ils trouvent le temps d'execution assez long, je ferai l'effort de vous envoyer le classeur excel sur le lien indiqué pour béneficier de votre assistance technique.
Merci les amis!!!
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 20/12/2013 à 14:07
Application.screenupdating=False
inutile si tu rends la main à la fin de la macro...

vous envoyer le classeur excel
m'envoyer UN EXTRAIT: au delà d'un méga , je zappe
0
Merci Michel_m de t'être préoccupé a mon problème. J'attends l'avis des personnes à qui je soumettrai l'appréciation du travail. Si elles jugent utile d'accélérer davantage, je t'enverrai le classeur.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
21 déc. 2013 à 08:05
Bonjour Polux

Tout à fait, je te plussoie.

Bon WE
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
21 déc. 2013 à 09:11
Merci Michel,

Bon week end à toi aussi et bonnes fêtes de fin d'année.

;0)
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
20 déc. 2013 à 19:01
Bonjour,

Comme l'a dit michel_m (que je salue), Excel n'est pas un gestionnaire de données et bien qu'il puisse le faire sous certaines conditions, il n'en reste pas moins limité.

Avant de se lancer tête baissée dans le code, il faut d'abord savoir où l'on va et ce que l'on veut faire. Beaucoup rechigne à le faire mais il est indispensable de se faire un petit cahier des charges et d'écrire toutes les fonctionnalités attendues.

Regarde ma signature. Il en est de même dans le développement.

J'espère que ton code qui traite les données n'est pas dans ton méga fichier qui sert de base ... parce qu'en cas de plantage du fichier, tu perds les données et le code !!! C'est serait dommage ...
-1