cs_miriame
Messages postés40Date d'inscriptionjeudi 11 août 2005StatutMembreDernière intervention18 novembre 2005
-
15 sept. 2005 à 15:25
VBFranceBlub
Messages postés27Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention19 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
cs_miriame
Messages postés40Date d'inscriptionjeudi 11 août 2005StatutMembreDernière intervention18 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"
VBFranceBlub
Messages postés27Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention19 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->
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_miriame
Messages postés40Date d'inscriptionjeudi 11 août 2005StatutMembreDernière intervention18 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