Warworm
Messages postés4Date d'inscriptionmercredi 18 octobre 2006StatutMembreDernière intervention22 novembre 2006
-
15 nov. 2006 à 13:33
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
23 nov. 2006 à 03:06
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...
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 16 nov. 2006 à 00:05
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"
<!--
jmfmarques
Messages postés7668Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 15 nov. 2006 à 15:49
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 !)
Warworm
Messages postés4Date d'inscriptionmercredi 18 octobre 2006StatutMembreDernière intervention22 novembre 2006 22 nov. 2006 à 11:09
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...
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 22 nov. 2006 à 20:26
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
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201822 23 nov. 2006 à 03:06
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...