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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
yohanb767
Niveau 5
Niveau 5
Messages : 117
Enregistré le : mer. 28 déc. 2016 14:09
Status : Hors ligne

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

#1

Message 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)
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

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

#2

Message 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
yohanb767
Niveau 5
Niveau 5
Messages : 117
Enregistré le : mer. 28 déc. 2016 14:09
Status : Hors ligne

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

#3

Message 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
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#4

Message par Tlem »

@yohanb767
Merci d'utiliser les balises de code dans vos messages.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2273
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

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

#5

Message par jchd »

La structure de contrôle Switch ... Case ... EndSwitch me semble toute indiquée.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
yohanb767
Niveau 5
Niveau 5
Messages : 117
Enregistré le : mer. 28 déc. 2016 14:09
Status : Hors ligne

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

#6

Message 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
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

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

#7

Message par orax »

Si j'ai bien compris la demande il faudra mettre le code répété dans une fonction.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#8

Message 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
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
yohanb767
Niveau 5
Niveau 5
Messages : 117
Enregistré le : mer. 28 déc. 2016 14:09
Status : Hors ligne

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

#9

Message 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
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#10

Message 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.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
yohanb767
Niveau 5
Niveau 5
Messages : 117
Enregistré le : mer. 28 déc. 2016 14:09
Status : Hors ligne

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

#11

Message 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
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#12

Message 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:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#13

Message par Tlem »

La réponse de Mikell est assez explicite, sinon éditez votre message (#3) et regardez comment sont utilisée les balises. ^^
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
yohanb767
Niveau 5
Niveau 5
Messages : 117
Enregistré le : mer. 28 déc. 2016 14:09
Status : Hors ligne

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

#14

Message par yohanb767 »

merci pour l'info , c'est bon j'ai vu pour les balises
maintenant je les utiliseraient

merci
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#15

Message par Tlem »

Bonsoir,
Il ne vous reste plus qu'à éditer votre message ci-dessus et à rajouter les balises. ^^
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre