HELP !!!!! Probleme de memoire Entre Excel et VB6

wagalolo Messages postés 4 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 29 août 2003 - 28 août 2003 à 22:38
wagalolo Messages postés 4 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 29 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

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 août 2003 à 23:14
peut être que tes algorithmes y sont pour quelque chose ????

tes boucles ne sont sans doute pas optimales, ou ne soulage tu pas assez la machine !!

pense a utiliser parfois des DoEvents...

By Renfield

[mailto:thomas_reynald@msn.com mailto:thomas_reynald@msn.com]

Aucune touche n'a été blessée lors de la saisie de ce texte.......... ;)
0
wagalolo Messages postés 4 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 29 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

wagalolo
0
wagalolo Messages postés 4 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 29 août 2003
29 août 2003 à 00:26
Heu excuse moi de te deranger mais a part les Doevents,

Comment puis-je "soulager" la machine??

Merci encore pour ton aide

wagalolo
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
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 !!

By Renfield

[mailto:thomas_reynald@msn.com mailto:thomas_reynald@msn.com]

Aucune touche n'a été blessée lors de la saisie de ce texte.......... ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wagalolo Messages postés 4 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 29 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

DoEvents

End Function

Encore merci mille fois pour ton aide.

lolo
0
Rejoignez-nous