Page 1 sur 1

Problème de répétition dans mes conditions

Posté : ven. 07 avr. 2017 13:39
par yohanb767
Bonjour à tous , j'ai mis dans mon script des conditions mais j'ai ( Else $Data = "260666964"Then ) qui lance un automate de saisie et ( ElseIf $sData = "260669423" Then ) qui lance la même chose j'aimerai en gros que faire un truc du genre ( Else $Data = "260666964" et aussi "260669423" Then ) cela me permettrai de ne pas répéter les choses

merci d'avance à tous et pour info je me sert des position X Y car je me sert du logiciel connu SAP qui ne me permet pas d'utiliser le ID

Code : Tout sélectionner

ElseIf $sData = "260666964" Then

Send ( "!{F4}")
Sleep(100)
;Symptômes client
BlockInput (1)
Mouseclick ("left", 821, 467, 1, 0)
Send ("NFACT")
;Destination
Send("{TAB 2}")
Send ("RETOUR EXPEDITEUR")
;Direction
Send("{TAB 2}")
Send ("REPARATION SIMPLE")
;Précision
Mouseclick ("left", 190, 579, 1, 2)
Sleep (200)
Mouseclick ("left", 211, 578, 1, 0)
;Devis
Mouseclick ("left", 118, 264, 1, 5)
Mouseclick ("left", 210, 297, 2, 5)
;Symptome client
Mouseclick ("left", 112, 489, 1, 5)
Send("CA10")
;Enregistrer
Mouseclick ("left", 234, 51, 1, 0)
BlockInput (0)

ElseIf $sData = "260669423" Then

Send ( "!{F4}")
Sleep(100)
;Symptômes client
BlockInput (1)
Mouseclick ("left", 821, 467, 1, 0)
Send ("NFACT")
;Destination
Send("{TAB 2}")
Send ("RETOUR EXPEDITEUR")
;Direction
Send("{TAB 2}")
Send ("REPARATION SIMPLE")
;Précision
Mouseclick ("left", 190, 579, 1, 2)
Sleep (200)
Mouseclick ("left", 211, 578, 1, 0)
;Devis
Mouseclick ("left", 118, 264, 1, 5)
Mouseclick ("left", 210, 297, 2, 5)
;Symptome client
Mouseclick ("left", 112, 489, 1, 5)
Send("CA10")
;Enregistrer
Mouseclick ("left", 234, 51, 1, 0)
BlockInput (0)

Re: Problème de répétition dans mes conditions

Posté : ven. 07 avr. 2017 14:12
par Hugues
Salut,

Pourquoi ne pas utiliser le "OR"?

Exemple bidon:
Local $iData="2220"
For $i=0 to 1000 Step 1
  $iData+=1
  If $iData = "2348" Or $iData = "2459" Then ConsoleWrite($iData & @CRLF)
Next

Re: Problème de répétition dans mes conditions

Posté : ven. 07 avr. 2017 15:32
par yohanb767
cela ne fonctionne pas dans mon script

voici mon script

Code : Tout sélectionner

MouseClick("left", 270, 337, 1, 0)
MouseClick("left", 290, 337, 1, 0)
MouseClick("left", 415, 424, 2, 10)
Send ("^c")
Local $sData = ClipGet() ; On récupère les données par le presse papier


;----------T--------------

If $sData = "260662700" Then

Send ( "!{F4}")
Sleep(100)
;Symptômes client
BlockInput (1)
Mouseclick ("left", 120, 488, 1, 0)
Send ("CR15")
;Fact Nfac
Send("{TAB 8}")
Send ("NFACT")
;Destination
Send("{TAB 2}")
Send ("RETOUR EXPEDITEUR")
;Direction
Send("{TAB 2}")
Send ("REPARATION SIMPLE")
;Précision
Mouseclick ("left", 190, 577, 1, 0)
Sleep (200)
Mouseclick ("left", 217, 578, 1, 5)
;Devis
Mouseclick ("left", 124, 263, 1, 5)
Mouseclick ("left", 175, 295, 2, 5)
Mouseclick ("left", 175, 295, 2, 0)
;Enregistrer
Mouseclick ("left", 234, 51, 1, 0)
BlockInput (0)


;---------El---------------

ElseIf $sData = "293582885" Or $iData = "293583019" Then

Send ( "!{F4}")
Sleep(100)
;Symptômes client
BlockInput (1)
Mouseclick ("left", 821, 467, 1, 0)
Send ("NFACT")
;Destination
Send("{TAB 2}")
Send ("RETOUR EXPEDITEUR")
;Direction
Send("{TAB 2}")
Send ("REPARATION SIMPLE")
;Précision
Mouseclick ("left", 190, 579, 1, 2)
Sleep (200)
Mouseclick ("left", 211, 578, 1, 0)
;Devis
Mouseclick ("left", 118, 264, 1, 5)
Mouseclick ("left", 210, 297, 2, 5)
;Symptome client
Mouseclick ("left", 112, 489, 1, 5)
Send("CA11")
;Enregistrer
Mouseclick ("left", 234, 51, 1, 0)
BlockInput (0)

;----------P--------------


ElseIf $sData = "260666964" Or $iData = "260669423" Or $iData = "260669499" Or $iData = "260424832"  Or $iData "260664613" Then

Send ( "!{F4}")
Sleep(100)
;Symptômes client
BlockInput (1)
Mouseclick ("left", 821, 467, 1, 0)
Send ("NFACT")
;Destination
Send("{TAB 2}")
Send ("RETOUR EXPEDITEUR")
;Direction
Send("{TAB 2}")
Send ("REPARATION SIMPLE")
;Précision
Mouseclick ("left", 190, 579, 1, 2)
Sleep (200)
Mouseclick ("left", 211, 578, 1, 0)
;Devis
Mouseclick ("left", 118, 264, 1, 5)
Mouseclick ("left", 210, 297, 2, 5)
;Symptome client
Mouseclick ("left", 112, 489, 1, 5)
Send("CA10")
;Enregistrer
Mouseclick ("left", 234, 51, 1, 0)
BlockInput (0)

Else
   Send ( "!{F4}")
    Exit
 EndIf

Re: Problème de répétition dans mes conditions

Posté : ven. 07 avr. 2017 23:39
par Tlem
@yohanb767
Merci d'utiliser les balises de code dans vos messages.

Re: Problème de répétition dans mes conditions

Posté : sam. 08 avr. 2017 01:02
par jchd
La structure de contrôle Switch ... Case ... EndSwitch me semble toute indiquée.

Re: Problème de répétition dans mes conditions

Posté : dim. 09 avr. 2017 16:00
par yohanb767
En faite j aimerai que ma condition ( If $sData = "260662700" Then) fonctionne aussi pour d autres numéros au moins une dizaine. Je pensais qu' il serai peut etre possible de creer une liste et que si $sDAta = a un de mes numéros de cette liste alors lancer là suite

Re: Problème de répétition dans mes conditions

Posté : dim. 09 avr. 2017 21:24
par orax
Si j'ai bien compris la demande il faudra mettre le code répété dans une fonction.

Re: Problème de répétition dans mes conditions  

Posté : dim. 09 avr. 2017 23:05
par mikell
Le plus simple est de faire comme jchd l'a dit

Switch sData
   Case "260662700"
      ;.....
   Case "293582885", "293583019"
      ;......
   Case "260666964", "260669423", "260669499", "260424832", "260664613"
      ;......
EndSwitch

Re: Problème de répétition dans mes conditions

Posté : lun. 10 avr. 2017 11:41
par yohanb767
Bonjour , cela parait claire mikell ! mais pourtant mon script ne fonctionne pas

le voici dans son intégralité
si quelqu'un peux me dire pourquoi cela ne fonctionne pas merci

MouseClick("left", 270, 337, 1, 0)
MouseClick("left", 290, 337, 1, 0)
MouseClick("left", 415, 424, 2, 10)
Send ("^c")
Local $sData = ClipGet() ; On récupère les données par le presse papier


;----------T--------------

Switch sData

Case "260662700"

Send ( "!{F4}")
Sleep(100)
;Symptômes client
BlockInput (1)
Mouseclick ("left", 120, 488, 1, 0)
Send ("CR15")
;Fact Nfac
Send("{TAB 8}")
Send ("NFACT")
;Destination
Send("{TAB 2}")
Send ("RETOUR EXPEDITEUR")
;Direction
Send("{TAB 2}")
Send ("REPARATION SIMPLE")
;Précision
Mouseclick ("left", 190, 577, 1, 0)
Sleep (200)
Mouseclick ("left", 217, 578, 1, 5)
;Devis
Mouseclick ("left", 124, 263, 1, 5)
Mouseclick ("left", 175, 295, 2, 5)
Mouseclick ("left", 175, 295, 2, 0)
;Enregistrer
Mouseclick ("left", 234, 51, 1, 0)
BlockInput (0)

;--------El------------

Case "293589446", "293652492", "293632586", "293633299", "293631084"

Sleep(100)
;Symptômes client
BlockInput (1)
Mouseclick ("left", 821, 467, 1, 0)
Send ("NFACT")
;Destination
Send("{TAB 2}")
Send ("RETOUR EXPEDITEUR")
;Direction
Send("{TAB 2}")
Send ("REPARATION SIMPLE")
;Précision
Mouseclick ("left", 190, 579, 1, 2)
Sleep (200)
Mouseclick ("left", 211, 578, 1, 0)
;Devis
Mouseclick ("left", 118, 264, 1, 5)
Mouseclick ("left", 210, 297, 2, 5)
;Symptome client
Mouseclick ("left", 112, 489, 1, 5)
Send("CA11")
;Enregistrer
Mouseclick ("left", 234, 51, 1, 0)
BlockInput (0)

;----------PM--------------

Case "260664613", "260669423", "260666964", "260424832"

Sleep(100)
;Symptômes client
BlockInput (1)
Mouseclick ("left", 821, 467, 1, 0)
Send ("NFACT")
;Destination
Send("{TAB 2}")
Send ("RETOUR EXPEDITEUR")
;Direction
Send("{TAB 2}")
Send ("REPARATION SIMPLE")
;Précision
Mouseclick ("left", 190, 579, 1, 2)
Sleep (200)
Mouseclick ("left", 211, 578, 1, 0)
;Devis
Mouseclick ("left", 118, 264, 1, 5)
Mouseclick ("left", 210, 297, 2, 5)
;Symptome client
Mouseclick ("left", 112, 489, 1, 5)
Send("CA10")
;Enregistrer
Mouseclick ("left", 234, 51, 1, 0)
BlockInput (0)


EndSwitch

Re: Problème de répétition dans mes conditions

Posté : mar. 11 avr. 2017 17:43
par Tlem
Heuuu, vous le faites exprès ? Je prends le temps d'éditer vos messages et je vous demande quelque chose.
5 messages plus loin, vous recommencez ... Donc merci de ré-éditer votre message et d'utiliser les balises de code, sinon je verrouille le sujet.

Re: Problème de répétition dans mes conditions

Posté : mar. 11 avr. 2017 18:37
par yohanb767
alors j'ai trouvé mon erreur , il manque tout simplement le $ sur ma variable Sdata
ensuite si quelqu'un pouvais me dire comment utiliser les balises
je ne fais pas exprès Thierry , je ne sais tout simplement pas comment faire

Re: Problème de répétition dans mes conditions

Posté : mar. 11 avr. 2017 19:59
par mikell

Code : Tout sélectionner

Switch $réponse("Répondre")
    Case "code"
          click_icon ( premier en haut à gauche ligne 1 )
    Case "code_au3"
          click_icon ( premier en haut à gauche ligne 2 )
EndSwitch
:mrgreen:

Re: Problème de répétition dans mes conditions

Posté : mer. 12 avr. 2017 04:20
par Tlem
La réponse de Mikell est assez explicite, sinon éditez votre message (#3) et regardez comment sont utilisée les balises. ^^

Re: Problème de répétition dans mes conditions

Posté : jeu. 13 avr. 2017 18:18
par yohanb767
merci pour l'info , c'est bon j'ai vu pour les balises
maintenant je les utiliseraient

merci

Re: Problème de répétition dans mes conditions

Posté : jeu. 13 avr. 2017 18:47
par Tlem
Bonsoir,
Il ne vous reste plus qu'à éditer votre message ci-dessus et à rajouter les balises. ^^