j'ai l'erreur suivante à l'execution : Array variable subscript badly formatted.
ainsi ma fonction lancerBDF devrait manipuler différentes fenetres IE. Pour cela, elle a besoin des informations revnoyés sous forme de tableau par la fonction extraction.
ainsi l'erreur concerne, d'apres la console, cette fonction extraction et plus particulierement l'initialisation du tableau a renvoyer
je vous donnes les codes de ces deux fonctions
Code : Tout sélectionner
func lancerBDF($oIE,$env,$oFrameMain,$oFrameBanner,$oFrameMenu,$oFrameMainBandeau, $oFrameMainOnglet, $oFrameMainDroite)
connexion($oIE,$env)
initContext($oIE,$oFrameMain,$oFrameMenu,$oFrameBanner)
;clients avec score blanc
[b][color=#BF0000]$clients=extraction($oIE,$oFrameMain)[/[/color]b]
for $i=0 To UBound($clients)-1
if $clients[$i][7]="blanc" Then
$otrss = _IETagNameGetCollection ($oFrameMain, "tr")
$nb_tr=@EXTENDED
For $j=0 to $nb_tr
$otrr= _IETagNameGetCollection ($oFrameMain, "tr",$j)
If IsObj($otrr)Then
if $otrr.title Then
if StringInStr($otrr.title, $clients[$i][2]) Then
_IEAction ($otrr, "click")
_IELoadWait($oFrameMain)
initContextSubscription($oFrameMain,$oFrameMainBandeau,$oFrameMainOnglet,$oFrameMainDroite)
_IEClickByOuterText($oFrameMainOnglet, "Suivi")
subscriptionLoadWait($oFrameMainBandeau, $oFrameMainOnglet, $oFrameMainDroite)
_IEClickByOuterText($oFrameMainOnglet, "Risques ")
subscriptionLoadWait($oFrameMainBandeau, $oFrameMainOnglet, $oFrameMainDroite)
_IELinkClickByText ($oFrameMainDroite, "lancer FICP")
_IELoadWait($oFrameMainDroite)
WinWait("Liste des personnes", "")
$oIE_temp_ficp=_IEAttach("Liste des personnes")
_IELoadWait($oIE_temp_ficp)
_IELinkClickByText($oIE_temp_ficp, "FERMER")
_IELoadWait($oFrameMainDroite)
_IELinkClickByText($oFrameMainDroite, "lancer FCC")
_IELoadWait($oFrameMainDroite)
WinWait("Liste des personnes", "")
$oIE_temp_ficp=_IEAttach("Liste des personnes")
_IELoadWait($oIE_temp_ficp)
_IELinkClickByText($oIE_temp_ficp, "FERMER")
_IELoadWait($oFrameMainDroite)
If _IELinkClickByText ($oFrameMainDroite, "lancer FICP", 1) = -1 Then
_IELoadWait($oFrameMainDroite)
WinWait("Liste des personnes", "")
$oIE_temp_ficp=_IEAttach("Liste des personnes")
_IELoadWait($oIE_temp_ficp)
_IELinkClickByText($oIE_temp_ficp, "FERMER")
_IELoadWait($oFrameMainDroite)
EndIf
If _IELinkClickByText($oFrameMainDroite, "lancer FCC", 1) = -1 Then
_IELoadWait($oFrameMainDroite)
WinWait("Liste des personnes", "")
$oIE_temp_ficp=_IEAttach("Liste des personnes")
_IELoadWait($oIE_temp_ficp)
_IELinkClickByText($oIE_temp_ficp, "FERMER")
_IELoadWait($oFrameMainDroite)
EndIf
_IEAction($oIE,"back")
_IEAction($oIE,"back")
_IELoadWait($oFrameMain)
_IEAction($oIE,"back")
_IEAction($oIE,"back")
_IELoadWait($oFrameMain)
EndIf
EndIf
EndIf
Next
EndIf
Next
EndFunc
Code : Tout sélectionner
Func extraction(ByRef $oIE, ByRef $oFrameMain)
;selection, pour affichage, du nombre max de demandes
$i=0
$oForm = _IEFormGetObjByName ($oFrameMain, "listeDemande")
$Select_nbDemandes = _IEFormElementGetObjByName ($oForm, "nbLimiteDemandes")
If $Select_nbDemandes <> 0 Then
While (_IEFormElementOptionSelect ($Select_nbDemandes ,$i, 1, "byIndex",0))
$i=$i+1
WEnd
_IEFormElementOptionSelect ($Select_nbDemandes ,$i-2, 1, "byIndex",0)
_IEFormElementOptionSelect ($Select_nbDemandes ,$i-1, 1, "byIndex",1)
_IELoadWait($oFrameMain)
EndIf
$oForm = _IEFormGetObjByName ($oFrameMain, "listeDemande")
$Select_nbDemandes = _IEFormElementGetObjByName ($oForm, "nbLimiteDemandes")
$nblignes = _IEFormElementGetValue ($Select_nbDemandes)
;on récupère les infos de chaque client entre les balises tr; boucle for $otr...pour extraire infos.
;~chaque ligne de $tab contiendra les infos extraites d'un client
$otrs = _IETagNameGetCollection ($oFrameMain, "tr")
[b][color=#BF0000]dim $tab[$nblignes][8][/[/color]b]
$i=0
For $otr In $otrs
if $otr.title Then
$infos_titre=StringSplit($otr.title, ":")
;prenomNOM titulaire
$tab[$i][0]=StringMid($infos_titre[2],2,StringInStr($infos_titre[2], "Produit")-3)
;nom produit
$tab[$i][1]=StringMid($infos_titre[3],2,StringInStr($infos_titre[3], "Réf.")-3)
;ref dossier titulaire
$tab[$i][2]=StringMid($infos_titre[4],2,StringInStr($infos_titre[4], "Etat")-3)
;date demande
$otdDate = _IETagNameGetCollection ($otr, "td", 1)
$tab[$i][3]=$otdDate.innerHtml
;structure
$otdStructure = _IETagNameGetCollection ($otr, "td",3)
$tab[$i][4]=$otdStructure.innerHtml
;décision
$otdDecision = _IETagNameGetCollection ($otr, "td",4)
$tab[$i][5]=StringReplace($otdDecision.innerHtml, "<BR>", " ")
;statut de l'édition; situé dans le title
$tab[$i][6]=$infos_titre[9]
;couleur du score; situé dans le src de l' img de la 5 eme balise td
$oimgStatut= _IETagNameGetCollection ($otr,"img", 0)
$sSrc=$oimgStatut.src
$tab[$i][7]=StringMid($sSrc,StringInStr($sSrc, "_","",2)+1,StringInStr($sSrc, ".gif")-StringInStr($sSrc, "_","",2)-1)
$i=$i+1
EndIf
Next
return $tab
EndFunc
et l'erreur :
M:\DOOI\DSINT\Automates Javel\Javel.au3 (377) : ==> Array variable subscript badly formatted.:
dim $tab[$nblignes][8]
dim $tab[^ ERROR



