En vous remerciant d'avance de votre aide !
Voilà mon code :
► Afficher le texte
Code : Tout sélectionner
#include <DateTimeConstants.au3>
#include <GuiToolbar.au3>
#include <ProgressConstants.au3>
#include <SliderConstants.au3>
#include <ToolbarConstants.au3>
#include <ListBoxConstants.au3>
#include <GUIConstantsEx.au3>
#include <AVIConstants.au3>
#include <TreeViewConstants.au3>
#include <ButtonConstants.au3>
#include <GUIListBox.au3>
#Include <GuiComboBox.au3>
#include <ComboConstants.au3>
#include <Constants.au3>
#Include <Array.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <GUIListView.au3>
#include <ListViewConstants.au3>
#include <File.au3>
#include <GDIPlus.au3>
#include <WinAPI.au3>
#include <INet.au3>
#include <IE.au3>
#include <Date.au3>
Global $Form1 = GUICreate("La Bourse c'est EASY", 611, 418, -1, -1)
Global $Combo1 = GUICtrlCreateCombo("A", 8, 8, 113, 25, BitOR($WS_VSCROLL,$CBS_DROPDOWN,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST))
GUICtrlSetData(-1, "B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z")
Global $liste = GUICtrlCreateListView("", 8, 40, 593, 369)
_GUICtrlListView_SetExtendedListViewStyle($liste, BitOR($GUI_SS_DEFAULT_LISTVIEW,$WS_EX_CLIENTEDGE,$LVS_EX_GRIDLINES,$LVS_EX_FULLROWSELECT, $LVS_EX_DOUBLEBUFFER))
_GUICtrlListView_AddColumn($liste, "Nom", 200, 2)
_GUICtrlListView_AddColumn($liste, "Cotation", 60, 2)
_GUICtrlListView_AddColumn($liste, "Var", 60, 2)
_GUICtrlListView_AddColumn($liste, "Ouverture", 60, 2)
_GUICtrlListView_AddColumn($liste, "+ Haut", 60, 2)
_GUICtrlListView_AddColumn($liste, "+ Bas", 60, 2)
_GUICtrlListView_AddColumn($liste, "Var/1janv", 60, 2)
_GUICtrlListView_AddColumn($liste, "Volume", 60, 2)
Global $Button1 = GUICtrlCreateButton("Lancer la recupération", 128, 8, 121, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
_RECUP(GUICtrlRead($Combo1))
EndSwitch
WEnd
;Fonction de recupération de info
Func _RECUP($lettre)
Global $sources, $nom, $cot
_GUICtrlListView_DeleteAllItems($liste)
$sources = _INetGetSource("http://www.boursorama.com/bourse/actions/cours_az.phtml?MARCHE=SRD&pea=0&peapme=0&sort%5Blibelle%5D=ASC&page=1&LETTRE="& $lettre &"") ;ATTENTION DEPASSEMENT DE LA RECHERCHE SUR LE BANDEAU DE DROITE DU MENU !! NOM en supplement sur les resultats Cf. PJ MAIL
$nom = StringRegExp($sources, '(href="/cours.phtml\?symbole=(.*?)">(.*?)</a></td>)',3)
;Verification date et heure pour enlever le " (c)" ou pas selon le cas
If _DateDayOfWeek(@WDAY) = "Saturday" OR _DateDayOfWeek(@WDAY) = "Sunday" OR (_DateTimeFormat(_NowCalc(), 4)>= "17:30" Or _DateTimeFormat(_NowCalc(), 4)<= "09:00" ) Then
$cot = StringRegExp($sources, '(?i)<td class="tdv-last" align="right" ><span id="(.*?)"><span class="cotation">(.*?) \(c\)</span></span></td>',3)
Else
$cot = StringRegExp($sources, '(?i)<td class="tdv-last" align="right" ><span id="(.*?)"><span class="cotation">(.*?)</span></span></td>',3)
EndIf
;[...] A COMPLETER DE PLUS EN PLUS ... Ta formulation de StringRegExp BUG sur la suite ... utilise plutot la mienne ... Attention aux espaces qui foutent la m....
_ADD()
EndFunc
;Fonction de traitrement des informations
Func _ADD()
Local $count
Local $i_n, $i_v, $i
$count = UBound($nom, $UBOUND_ROWS) ;Recupère la taille REEL de l'Array
$count = $count/3
$i_n = 2 ;Pt de depart de l'Array des nom
$i_v = 1 ;Pt de depart de l'Array des cotations
$i = 0
While $i < $count
GUICtrlCreateListViewItem($nom[$i_n] &"|"& $cot[$i_v], $liste) ;MODE = Retrait de " (c)"
$i_n = $i_n + 3 ;Valeur suivante à N+3 pour les Nom
$i_v = $i_v + 2 ;Valeur suivante à N+2 pour les cotations
$i = $i + 1
WEnd
EndFunc


