[VBA Excel 2003] - Lenteur

[Résolu]
Signaler
Messages postés
4
Date d'inscription
mercredi 18 octobre 2006
Statut
Membre
Dernière intervention
22 novembre 2006
-
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
Bonjour,


J'ai developpé une legère application de base de données sur Excel (je
sais, c'est très mal, mais on ne m'a pas laissé le choix). Ce fichier
est hebergé sur un serveur et fait appel à deux autres fichiers su meme
repertoire (le chemin via IP est defini dans le fichier). Il consiste
au chargement d'un formulaire à remplir qui permet l'ajout d'une ligne
dans une table et le remplissage automatique d'une feuille de calcul
basé sur un modèle.

Il a été developpé sur Office 2000

Ce programme, peu rapide, est d'une incroyable lenteur sur Excel
2003, avez vous un semblant d'explication, voire dans le meilleur des
cas de solution?


Je vous remercie par avance de toute reponse que vous pouvez m'apporter.


__________________________________
Si la pierre tombe sur l'oeuf, malheur à l'oeuf.
Si l'oeuf tombe sur la pierre, malheur à l'oeuf...

7 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

pourquoi ne pas refaire le fichier au format Excel 2003 afin de voir s'il est toujours aussi lent ?
Sinon, pour l'affichage dont te parlait jmjmarques, il faut faire, au début d'une procédure : Application.ScreenUpDating = False , puis le remettre à True à la fin de ta procédure.

@++

<hr size ="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
4
Date d'inscription
mercredi 18 octobre 2006
Statut
Membre
Dernière intervention
22 novembre 2006

Petit edit : le point de lenteur semble se situer au niveau d'un ".execute" sur un filesearch pour lister un repertoire.

Si la pierre tombe sur l'oeuf, malheur à l'oeuf.
Si l'oeuf tombe sur la pierre, malheur à l'oeuf...
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
De mémoire (je ne pratique plus VB depuis des années...)
Essaye d'inhiber l'affichage pendant la durée des calculs entraînés sur ta feuille et rétablis l'affichage à la fin des calculs. Celà te fera gagner en temps d'exécution, déjà...(la mise à jour de l'affichage est gourmande !)
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Correction : c'est VBA que je ne pratique plus depuis longtemps, pas VB ...
Messages postés
4
Date d'inscription
mercredi 18 octobre 2006
Statut
Membre
Dernière intervention
22 novembre 2006

Bon, en fait je l'ai refait au format Excel 2003, et j'ai bel et bien
realisé que le .execute du filesystem object devenait en reseau d'un
lenteur incoryable.


Je ne sais toujours pas pourquoi, mais vu qu'il s'agissait de mettre
des fichiers via combobox a la disposition des utilisateurs, j'ai fais
une boite de dialogue.


Un jour j'arriverai à convaincre mon entreprise que la vraie base de données est la solution. Un jour...


Merci pour vos reponses ^^

Si la pierre tombe sur l'oeuf, malheur à l'oeuf.
Si l'oeuf tombe sur la pierre, malheur à l'oeuf...
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Mais pourquoi ne passes-tu pas par un CommonControl ?
(contrôle à rajouter : Microsoft Common Dialog Control N° version)

En cas, teste si ça correspond à tes besoins, ouvre un nouveau classeur vierge, insère un UserForm, rajoute dans les contrôles par défaut le CommonControl puis place le sur le UserForm :

Private Sub UserForm_Initialize()
    With CommonDialog1
        .InitDir =  "C:\Documents and settings"
        .Filter = "Base de données| *.mdb; *.xls; *.txt"
        .ShowOpen
    End With

MsgBox CommonDialog1.Filename

End Sub

~<small> Mortalino </small>~

@++

<hr width ="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
WarWorm:
« Un jour j'arriverai à convaincre mon entreprise que la vraie base de données est la solution. Un jour...»

HAHAHA !!!
Il faudrait que je fasse lire ça à mes patrons... ¦¬)
Peut-être que ça finirait par les convaincre...
Si tu voyais les outils qu'on a au bureau... héhéhé
J'en ri même si ce n'est pas drôle... hihihi
Ça doit être nerveux... t'a touché ma corde sensible...

MPi