Page 1 sur 1

Auto it - Excel - Web

Posté : mar. 09 juil. 2019 12:09
par Furyy
Bonjour,

Étant vraiment débutant sur Autoit, je sollicite votre aide.

Dans le cadre d'une correction comptable, toute les semaines je fais plus de 2h de manips à la main.
Je me suis dis qu'il y avait forcément un moyen et j'ai découvert autoit.

Pour expliquer ce que je fais :

- J'ai un fichier excel dans lequel il y a les commandes à corriger.
- Chaque commande est rattachée à un magasin.
- Chaque magasin est rattaché à un projet (ce qui n'est pas bon donc je corrige en gros le projet des magasins.. non il n'y a pas de moyen de corriger par magasin)
- Je dois donc copier le numéro de commande, ouvrir une application interne à l'entreprise, coller le n°, attendre le chargement, mettre dans une case le nouveau projet, valider, attendre le chargement et recommencer avec la commande suivante. Cela pour tout les magasins.

Je ne sais pas comment procéder.
Pouvez vous m'éclairer svp ?

merci d'avance

Re: Auto it - Excel - Web

Posté : mar. 09 juil. 2019 15:18
par scorp84
Bonjour Furvy,

Il est possible de copier des infos d'un fichier Excel et de les coller dans un autre programme.

Par exemple : https://www.autoitscript.com/forum/topi ... elcom-udf/

Autoit est capable de plein de choses mais il faudrait être plus précis sur votre demande pour que nous puissions vous aider.

Avez-vous commencé un bout de code ? Sur quoi butez-vous ?

Cordialement.

BM

Re: Auto it - Excel - Web

Posté : mar. 09 juil. 2019 17:03
par DimVar
Bonjour Furyy,

Comme l'a precisé Scorp84, il nous faut plus de billes pour vous aider.
A la louche je vois deux possibilités.
La premiere fastidieuse, qui controle la souris et fait les actions pour vous. Mais la gestion des timeouts (ou temps chargement) de vos appli risque d'etre compliqué à gerer.
La deuxieme, serait de faire un export, si c'est possible, de votre appli, puis travailler les données.

Mais en effet, sans plus d'infos....


Cdlt, Dimvar.

Re: Auto it - Excel - Web

Posté : mer. 10 juil. 2019 14:51
par Furyy
Bonjour Scorp84 et DimVar,

Merci à vous deux d'avoir pris le temps de me répondre.
J'avais pas encore de code quand j'avais fait le sujet mais depuis, grâce à vos idées j'ai commencé à développer.
Je suis parti sur la première idée de DimVar, car la deuxième n'est pas possible. Je peux apporter des corrections seulement via une interface (application interne).
je vous met a disposition la structure de mon fichier excel et quelques captures d'écrans de l'application interne (tout en modifiant les données confidentielles.. )
je joins aussi le bout de code que j'ai commencé.
Je n'arrive pas trop a développer le côté web ..

merci encore

Cdt.

Re: Auto it - Excel - Web

Posté : mer. 10 juil. 2019 16:14
par DimVar
Bonjour,

Pour le coté web, cela va dependre de la maniere de t'y prendre.
Soit tu fais deplacer ta souris,
Soit tu controle le navigateur ou plus precisement les elements du site visualisés par le navigateur.

Interresse toi à FF.au3 et IE.au3. (FireFox, InternetExplorer)


Cdlt, Dimvar.

Re: Auto it - Excel - Web

Posté : mer. 10 juil. 2019 23:49
par Furyy
Bonsoir DimVar,

Oui effectivement, je me suis un peu intéresséà IE.au3 mais FF.au3 ne marhce pas le include n'est pas trouvable.. une solution ?
Sinon j'aimerais plus contrôler les éléments du site visualisé plutôt que la souris, mais pareil je n'arrive pas à sélectionner un site dans la liste déroulante par exp.

Ca a l'air de tenir la route le début du code?

merci.

Cdt.

Re: Auto it - Excel - Web

Posté : jeu. 11 juil. 2019 09:40
par DimVar
Bonjour,

Peux tu détailler : "FF.au3 ne marhce pas le include n'est pas trouvable."
Le code semble bon.

Re: Auto it - Excel - Web

Posté : jeu. 11 juil. 2019 11:48
par Furyy
Bjr,

il manque apparemment le fichier include "FF.au3" mais pas grave je le fais sur IE.
Voici le code source de la page, sauriez vous me dire comment je peux changer la valeur de la liste déroulante avec autoit ?

Merci
 [code2]<form action="/web/tompous2.php/menu/choixSite" method="post"><input type="hidden" name="_csrf_token" value="f66a6baffe582097da62ffd4ea9dbdc0" />
  <div id="header_form">
          <div class="label"><label for="site">Site</label> :</div><div class="field"><select tabindex="1" name="site" id="site">
<option value="" selected="selected"></option>
<option value="21S05">21S05 -  xxxx</option>
<option value="21S06">21S06 -  xxxx</option>
<option value="25S01">25S01 -  xxxx</option>
<option value="25S07">25S07 -  xxxx</option>
<option value="38P20">38P20 -  xxxx</option>
<option value="39S01">39S01 -  xxxx</option>
<option value="39S03">39S03 -  xxxx</option>
<option value="54S06">54S06 -  xxxx</option>
<option value="54S09">54S09 -  xxxx</option>
<option value="57P01">57P01 -  xxxx</option>
<option value="57S02">57S02 -  xxxx</option>
<option value="57S03">57S03 -  xxxx</option>
<option value="58P01">58P01 -  xxxx</option>
<option value="58S04">58S04 -  xxxx</option>
<option value="67P01">67P01 -  xxxx</option>
<option value="67S01">67S01 -  xxxx</option>
<option value="67S03">67S03 -  xxxx</option>
<option value="68S01">68S01 -  xxxx</option>
<option value="70S01">70S01 -  xxxx</option>
<option value="71S05">71S05 -  xxxx</option>
<option value="71S08">71S08 -  xxxx</option>
<option value="88S01">88S01 -  xxxx</option>
<option value="89S02">89S02 -  xxxx</option>
<option value="89S03">89S03 -  xxxx</option>
<option value="89S04">89S04 -  xxxx</option>[/code2]

Re: Auto it - Excel - Web

Posté : jeu. 11 juil. 2019 12:00
par DimVar
Lorque que je travaille avec les navigateurs, je ne passe par le code source. Mais grace à au3info (ctrl + shift + F6 dans Scite).
Cela permet de recuperer les elements sur lesquels positionner le focus.


[EDIT] Aide au3Info :
https://www.autoitscript.fr/autoit3/doc ... au3spy.htm
Ou encore
https://data.brains-master.com/pdf/2285 ... autoit.pdf

Cdlt, Dimvar.

Re: Auto it - Excel - Web

Posté : jeu. 11 juil. 2019 15:49
par walkson
Bonjour,
un exemple rapide basé sur https://www.autoitscript.fr/forum/portal (le combo en bas de la page) qui se rapproche de votre code source (si j'ai bien compris votre demande)
Voir les commentaires dans le code
#include <IE.au3>

Global $oIE = _IECreate("https://www.autoitscript.fr/forum/portal")
Global $oForm = _IEGetObjById ($oIE, "jumpbox") ;doit correspondre à <div id="header_form"> à vérifier
Local $oSelect = _IEFormElementGetObjByName($oForm, "f", -1) ;<select tabindex="1" name="site" id="site">
; If the Form Element name occurs more than once, specifies instance by 0-based index
;    0 (Default) or positive integer returns an indexed instance
 ;   -1 returns a collection of the specified Form Elements
Global $val
For $oElement In $oSelect ;enregistre les données du combo
ConsoleWrite($oElement.innerText & @CR);pour voir
$val = $val & $oElement.innerText & "|"
Next
StringTrimRight($val, 1) ;supprime le dernier "|"
ConsoleWrite( $val & @CR)
;==========================================================================================
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiComboBox.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Form1", 529, 119, 192, 124)
Global $Combo1 = GUICtrlCreateCombo("", 40, 16, 425, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetData(-1, $val, "Sélectionner un forum"); données combobox
Global $buton = GUICtrlCreateButton("ok", 50,80, 100,30)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Global $lire
While 1
 $nMsg = GUIGetMsg()
 Switch $nMsg
    Case $GUI_EVENT_CLOSE
       _IEQuit($oIE)
      Exit
    Case $Combo1
       $lire = _GUICtrlComboBox_GetCurSel ( $Combo1 ) ; index sélectionné on ne peut pas lire les données à cause des espaces
       ;éviter de choisir Sélectionner un forum, Général et autres gros titres sans chemin sinon BUG
    Case $buton
        _IENavigate($oIE, "https://www.autoitscript.fr/forum/portal");on revient à la page de départ
        $oForm = _IEGetObjById ($oIE, "jumpbox")
        ConsoleWrite($lire & @CR)
       If GUICtrlRead($Combo1) <> "Sélectionner un forum" Then
       $oSelect = _IEFormElementGetObjByName($oForm, "f", 0)
       _IEAction($oSelect, "focus")
       _IEFormElementOptionSelect($oSelect, $lire, 1, "byIndex")
       EndIf


 EndSwitch
WEnd