wagalolo
Messages postés4Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention29 août 2003
-
28 août 2003 à 22:38
wagalolo
Messages postés4Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention29 août 2003
-
29 août 2003 à 13:14
Bon ben voila vous etes ma derniere chance avant le suicide.
:-)))
J ai une application VB qui s'interface avce une base access pour ecrire des infos dans un fichier Excel.
Lorsque je lance l'applie sous l'environnement de developpement pas de probleme (en dehors de l'utilisation CPU qui monte à 100% immediatement).
Je cree un package d'install afin de deployer le programme sur d'autres postes et là, misere, L'execution commence bien, mais au bout d'un certain temps j'ai la memoire utilisee qui monte en fleche dans une boucle alors que son execution c'est correctement effectue durant 200 Tours. :-(((
J'utilise des ADODB recordset, mais je ne pense pas que le probleme vienne de là etant donne que je recupere bien les informations dans la base access.
Les Pc (de developpement et les machines sur lesquelles je dois deployer l'applie sont toutes en Windows 2000 pro avec des versions d'excel identiques.
Auriez vous une idee, JE SUIS PERDU AU SECOURS :-)))
wagalolo
Messages postés4Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention29 août 2003 28 août 2003 à 23:26
Bien cela m'etonne un peu, pour les Doevents j'en au mis, par contre je ne comprends pas pourquoi ca foncitonne impeccablement sur mon ordinateur avec Visual studio, alors qu'il est moi puissant et avec moins de memoire que l'ordinateur sur lequel j'install l'application.
Enfin merci pour ton aide je vais revoir mes boucles
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 29 août 2003 à 04:37
et Bien, sans voir une seule ligne de code, j'avouerai que la réponse n'est pas simple à donner !!
ton projet dois lacker à un moment bien précis, tu pourrais tenter de le mettre en pause (CTRL + Pause) quand il ralentit, pour reperer les passages delicats...
si tu met du code sur le site, on pourrais tenter de t'aider dans son optimisation !!
wagalolo
Messages postés4Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention29 août 2003 29 août 2003 à 13:14
Bonjour,
Je pense avoir trouver d'ou vient le probleme, J'ouvrais 2 objets Excel.application. Le second objet excel Au bout d'un certain temps de traitement grossit de façon alarmante sur le poste client (plus de 170 MO) ce qui explique la memoire qui grimpe en flêche.
Par contre j'ai mis du code pour fermer l'objet mais il ne semble pas fonctionner (???).
Pourrais-tu m'eclairer sur ce point?
Function IsOpenInExcel(Fichier As String) As Boolean
'Vérifie que le fichier n'est pas utilisé par Excel
'Non utilisé => False
'Utilisé => True + Message d'erreur
Dim LocalExcel As AppExcel.Application
Dim LocalBook As Excel.Workbook
If Dir(Fichier) = "" Then
IsOpenInExcel = False
Exit Function
End If
Set LocalExcel = CreateObject("AppExcel.Application")
Set LocalBook = AppExcel.Workbooks.Open(Fichier)
LocalBook.Application.DisplayAlerts = False
If LocalBook.ReadOnly = True Then
IsOpenInExcel = True
MsgBox "Le fichier nommé" & vbCrLf & vbCrLf & "''" & Fichier & "''" & vbCrLf & vbCrLf & "est utilisé par AppExcel (ou en ''lecture seule'')", vbExclamation, "Opération impossible"
Else
IsOpenInExcel = False
End If
LocalBook.Close
Set LocalBook = Nothing
LocalExcel.Application.Quit
Set LocalExcel = Nothing