Urgent-Probleme de vidage de mémoire en VBA

cs_miriame Messages postés 40 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 18 novembre 2005 - 15 sept. 2005 à 15:25
VBFranceBlub Messages postés 27 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 19 septembre 2005 - 16 sept. 2005 à 15:19
Bonjour
j'ai fait un module en VBA qui permet d'ouvrir une appli,et ensuite d'ouvrir des test en parcourant une colonne CSource qui est dans une feuille excell qui contient le chemin pour y acceder et ensuite les sauvegarder dans l'appli en ayant recuperer le chemin destination depuis la feuille excell aussi.
le probleme et que j'utilise plus de 60 tests(se sont des fichiers),et au moment d'ouvrir le 10 eme ou 15 eme test j'ai des messages d'erreures("run time error"),je pense qu'il sagit de depassement de memoire.j'ai deja utilisé le DOEvents mais rien à faire.quelqu'un peut il me dire comment vider ma memoire pour ouvrir et sauvegarder plus de 100 tests, et comment coder ca
Merci d'avance

6 réponses

VBFranceBlub Messages postés 27 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 19 septembre 2005
15 sept. 2005 à 15:47
Salut;



Ferme tes tests les uns après les autres après t'en être servi, es-tu sûr(e?) que ton appli ne t'ouvre pas une feuille Excel à chaque test?



<-Blub->
0
cs_miriame Messages postés 40 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 18 novembre 2005
15 sept. 2005 à 17:47
Bonjour
merci pour ta reponse,ben voila ce que fait mon code:
Sub MigrationScriptLocalVersQC()

Dim AppQTP
Dim Source
Dim Dest
'##############Ouvrir l'application QTP##################
Set AppQTP = CreateObject("QuickTest.Application")
AppQTP.Launch
AppQTP.Visible = True
'############### Connexion à Quality Center#############
AppQTP.TDConnection.Connect "http://rmfrdefa266/qcbin", _
"QUALIFICATION", "", "", "", False

'########Parcoure la feuille exel ouvre et enregistre les scripts dans QC################

Set Source = Range("CSource")
Set Dest = Range("CDestination")
Dim test
Dim Counter
Dim OpenForms
Counter = 0


For n = 1 To Source.Rows.Count
Counter = n
If Source.Cells(n, 1) = "" Then
OpenForms = DoEvents
Exit For
End If
Next

For n = 1 To Counter

If Source.Cells(n, 1) <> "" And Dest.Cells(n, 1) <> "" Then

AppQTP.Open (Source.Cells(n, 1).Value)
Sleep 5000

AppQTP.test.SaveAs Dest.Cells(n, 1).Value, False
End If
Next n

AppQTP.Quit
MsgBox ("Fin de la migration")

End Sub

Non mon appli n'ouvre pas une autre feuille excell.
dans ma boucle je faits constammentun "open" ensuite un "save as"
0
cs_miriame Messages postés 40 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 18 novembre 2005
15 sept. 2005 à 17:57
moi ce que je n'arrive pas à faire ,c de trouver comment coder le fait de vider ma mémoire?

miriame
0
VBFranceBlub Messages postés 27 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 19 septembre 2005
16 sept. 2005 à 07:54
Pour vider ta mémoire, il faut fermer tout ce que tu as ouvert précedemment et qui ne t'es plus utile.



If Source.Cells(n, 1) <> "" And Dest.Cells(n, 1) <> "" Then
AppQTP.Open (Source.Cells(n, 1).Value)
Sleep 5000
AppQTP.test.SaveAs Dest.Cells(n, 1).Value, False
'fermeture de ton test (la commande n'est peut-être pas celle-ci)
AppQTP.Close (Source.Cells(n, 1).Value)
End If

<-Blub->
0

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

Posez votre question
cs_miriame Messages postés 40 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 18 novembre 2005
16 sept. 2005 à 10:01
merci pour ta solution
cela ne m'arrange pas
comme je te l'ai dits je dois migrer plus de 150 tests ,et le fait de faire "AppQTP.Close (Source.Cells(n, 1).Value)" implique que je dois ouvrir et fermer mon appli (AppQTP)150 fois.

n'y aurait il pas une autre solution? Serait il possible de gerer la mémoire avec VBA? Une sorte de "Garbage collector"
Merci pour ton aide
0
VBFranceBlub Messages postés 27 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 19 septembre 2005
16 sept. 2005 à 15:19
Non, en fait je parlais de fermer ton test à proprement parler, pas ton appli qui lance le test!!


Sinon, je peux pas te renseigner sur la gestion mémoire de Vb. Désolé.



<-Blub->
0
Rejoignez-nous