Auto it - Excel - Web

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Furyy
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mar. 09 juil. 2019 10:30
Status : Hors ligne

Auto it - Excel - Web

#1

Message 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
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 400
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

Re: Auto it - Excel - Web

#2

Message 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
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 867
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: Auto it - Excel - Web

#3

Message 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.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Furyy
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mar. 09 juil. 2019 10:30
Status : Hors ligne

Re: Auto it - Excel - Web

#4

Message 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.
Fichiers joints
Materiel.xlsx
(56.35 Kio) Téléchargé 235 fois
Correction Auto.au3
(1.46 Kio) Téléchargé 227 fois
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 867
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: Auto it - Excel - Web

#5

Message 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.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Furyy
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mar. 09 juil. 2019 10:30
Status : Hors ligne

Re: Auto it - Excel - Web

#6

Message 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.
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 867
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: Auto it - Excel - Web

#7

Message par DimVar »

Bonjour,

Peux tu détailler : "FF.au3 ne marhce pas le include n'est pas trouvable."
Le code semble bon.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Furyy
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mar. 09 juil. 2019 10:30
Status : Hors ligne

Re: Auto it - Excel - Web

#8

Message 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]
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 867
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: Auto it - Excel - Web

#9

Message 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.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Auto it - Excel - Web

#10

Message 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
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Répondre