PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 17 sept. 2005 à 14:53
salut
le code de CanisLupus est correct.
je montre juste une autre méthode détaillée (puisque "voici mon probleme je suis novice en prog ")
Private Sub Command1_Click()
Dim MaChaine As String
MaChaine = "tototoosjhlfh_dkh [Script toto]" 'ta chaîne
Dim Pos1 As Integer, Pos2 As Integer
Dim MaVal As String
'on cherche la position du 1er "["
'à partir de la 1ere position, dans MaChaine
Pos1 = InStr (1, MaChaine, "[") '<- va retourner 19
'on cherche la position du 1er "]"
'à partir de Pos1, dans MaChaine
'(à savoir que de toute manière, c'est le dernier caractère, donc inutile!!!)
Pos2 = InStr(Pos1, MaChaine, "]") '<- va retourner 31
'on récupère maintenant la chaîne entre ces 2 positions, moins la taille des crochets
MaVal = Mid(MaChaine, Pos1 + 1, Pos2 - Pos1 - 1) '<- va retourner "Script toto"
'de cette manière, MaChaine pourraît être "shdkfhgs[bonjour]skjedhfl us"
'"bonjour" serait également trouvé...
cs_miriame
Messages postés40Date d'inscriptionjeudi 11 août 2005StatutMembreDernière intervention18 novembre 2005 20 sept. 2005 à 15:18
Bonjour,
Pour commencer merci à tous pour votre ça m'apermi de résoudre mon probleme, c'est super sympas.
Je suis en ce moment sur une macro qui doit permettre de migrer des tests automatique QTP (QTP est une application d'automatisation de test) à partir de mon disque dur vers une appli (Quality Center) hebergée sur un serveur distant.
Je vous explique ce que fais ma macro, elle lit le chemin source du test à ouvrir dans l'application QTP et fais un save as du test dans quality center en lisant dans un fichier excel le chemin de destination. Donc il y une boucle qui dit pour chaque test repertorié dans le fichier excel il faut ouvrir ce test et l'enregistrer dans quality Center. Ma macro tourne bien mais au bout de quelques tests migrés elle plante et m'affiche un message d'erreur:
*******************************************
Run time error! *
*
Program: c:\Program\mercury\...\QTpro.exe *
*
R6025 *
*
- pure virtual function call *
*******************************************
puis quand je clique sur ok un second message s'affiche
*****************************************************************************
l'instruction à 0x08033f72 emploi l'adresse memoire ......la memoire ne peut* être "read" *
*****************************************************************************
J'ai compris qu'il s'agissait d'un probleme de memoire je me suis donc documenté à ce sujet et j'ai vui qu'il fallait faire des Set object = nothing mais l'erreur survient comme meme
Pourvez vous m'aider SVP!!!!!
PS: voici mon code:
********************************************************************************
Sub MigrationScriptLocalVersQC()
'
' MigrationScriptLocalVersQC Macro
' Macro recorded 25/08/2005 by x014424
'########Parcoure la feuille exel ouvre et enregistre les scripts dans QC################
Set Source = Range("CSource")
Set Dest = Range("CDestination")
For n = 1 To Source.Rows.Count
DoEvents
If Source.Cells(n, 1) <> "" And Dest.Cells(n, 1) <> "" Then
AppQTP.Open (Source.Cells(n, 1).Value)
AppQTP.Test.SaveAs Dest.Cells(n, 1).Value, False
AppQTP.Test.Close
Set AppQTP = Nothing
Set Source = Nothing
Set Dest = Nothing
Set AppQTP = CreateObject("QuickTest.Application")
Set Source = Range("CSource")
Set Dest = Range("CDestination")
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 20 sept. 2005 à 19:35
If Source.Cells(n, 1) <> "" And Dest.Cells(n, 1) <> "" Then
AppQTP.Open (Source.Cells(n, 1).Value)
AppQTP.Test.SaveAs Dest.Cells(n, 1).Value, False
AppQTP.Test.Close
Set AppQTP = Nothing
Set Source = Nothing
Set Dest = Nothing
Set AppQTP = CreateObject("QuickTest.Application")
Set Source = Range("CSource")
Set Dest = Range("CDestination")
cs_miriame
Messages postés40Date d'inscriptionjeudi 11 août 2005StatutMembreDernière intervention18 novembre 2005 21 sept. 2005 à 09:27
merci pcpt d'avoir répondu rapidement
je me doute qu'il faille décharger juste avant le msg box mais le run time error survient avant la fin de ma boucle à partir du 15eme voir 20 itération grand max, mais en mettant mes st object = nothing dans ma boucle j'ai l'impression que ça soulage et j'arrive à 35-40 itération avant le run time error....
Peut-etre que c'est ma facon de codé qui sollicite trop de memoire...???
Y'at-il un moyen d'optimiser ce code ???
PS: le run time error survient toujours au moment du Save As ???
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 21 sept. 2005 à 11:59
désolé, c'est du VBA.... pas trop mon domaine du tout^^
je me demande si c'est pas QTP qui sature...., et VBA qui bloque parce que process en attente...
PCPT
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 21 sept. 2005 à 12:52
as-tu la possibilité de faire tes appels manuellement?
c'est-à-dire ... appuyer sur un bouton pour générer une seule itération?
çà serait un bon test de voir si manuellement, il plante tout de même au bout de 20.
dans quel cas (si pas d'erreur) çà peut être un code à mettre dans un timer pour donner moins d'efforts. certes plus long, mais on a rien sans rien....
PCPT
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 21 sept. 2005 à 16:04
comment veux-tu que je te donne un code de macro, je clame haut et fort que je ne connais pas VBA...
c'est sur la logique que je peux peut-être t'aider.
ou sur des ressemblances de code VB6.....
donc macro, nada, désolé
PCPT