Waw...
Commençons par la fonction ControlSend c'est top, ça permet à l'utilisateur de continuer à travailler lorsque le programme opère en sous marin. C'est moins ludique, moins spectaculaire (je débute dans l'autoit, je m'amuse encore de voir ma souris et mon clavier bouger

) mais tellement plus efficace et fiable.
Par contre, le wiki
https://www.autoitscript.com/autoit3/do ... RegExp.htm est chargé... J'ai la barre au front.
Heu, pour ce script:
Code : Tout sélectionner
$string ="---------------------------" & @CRLF & _
"Gestion des sinistres - NOM PRENOM (Monsieur)- N° Cie : - N° Cab. : 123456789 - N° Cli. : *" & @CRLF & _
"---------------------------" & @CRLF & _
"Facture : A123456789" & @CRLF & _
"Service : 01234567" & @CRLF & _
"Description: Nom du service" & @CRLF & _
"Option: Option 1" & @CRLF & _
"Famille: Type de produit" & @CRLF & _
"Durée: durée du contrat" & @CRLF & _
"Code produit: 0987654321" & @CRLF & _
"Date achat: 28/10/2014" & @CRLF & _
"Description: Nom du produit" & @CRLF & _
"Prix achat: 1.00 €" & @CRLF & _
"PNA : 1.00 €" & @CRLF & _
"N° sinistre : 1236987" & @CRLF & _
"Date survenance : 08/10/2015" & @CRLF & _
"Date déclaration : 09/10/2015" & @CRLF & _
"---------------------------" & @CRLF & _
"OK" & @CRLF & _
"---------------------------"
$aFacture = StringRegExp($string, "(?im)^Facture : (\N+)", 3) ; OK
If Not @error Then MsgBox(0, "", "Facture = "& $aFacture[0])
$aFacture = StringRegExp($string, "(?im)^Service : (\N+)", 3) ; OK
If Not @error Then MsgBox(0, "", "Service = "& $aFacture[0])
$aFacture = StringRegExp($string, "(?im)^Description : (\N+)", 3)
If Not @error Then MsgBox(0, "", "Description = "& $aFacture[0])
$aFacture = StringRegExp($string, "(?im)^Famille : (\N+)", 3)
If Not @error Then MsgBox(0, "", "Famille = "& $aFacture[0])
$aFacture = StringRegExp($string, "(?im)^Durée : (\N+)", 3)
If Not @error Then MsgBox(0, "", "Durée = "& $aFacture[0])
$aFacture = StringRegExp($string, "(?im)^Code produit : (\N+)", 3)
If Not @error Then MsgBox(0, "", "Code produit = "& $aFacture[0])
$aFacture = StringRegExp($string, "(?im)^Date achat : (\N+)", 3)
If Not @error Then MsgBox(0, "", "Date achat = "& $aFacture[0])
$aFacture = StringRegExp($string, "(?im)^Description : (\N+)", 3)
If Not @error Then MsgBox(0, "", "Description = "& $aFacture[0])
$aFacture = StringRegExp($string, "(?im)^Prix achat : (\N+)", 3)
If Not @error Then MsgBox(0, "", "Prix achat = "& $aFacture[0])
$aFacture = StringRegExp($string, "(?im)^PNA : (\N+)", 3) ; OK
If Not @error Then MsgBox(0, "", "PNA = "& $aFacture[0])
$aFacture = StringRegExp($string, "(?im)^N° sinistre : (\N+)", 3) ; OK
If Not @error Then MsgBox(0, "", "N° sinistre = "& $aFacture[0])
$aFacture = StringRegExp($string, "(?im)^Date survenance : (\N+)", 3) ;OK
If Not @error Then MsgBox(0, "", "Date survenance = "& $aFacture[0])
J'ai plusieurs questions:
- La première est: comment transformer le contenu de mon clipboard (avec toutes mes infos en vrac comme exposé lors de mon premier message sur ce post) à la manière du code susvisé (avec les "& @CRLF & _" sans passer par un fichier blocnote? Faut il travailler le fichier bloc note en sous marin également, quitte à lui apposer la propriété d'être caché? Avec vous une piste a creuser?
- La seconde question est: mon code fonctionne pour 5 lignes (cf annotations sur le code), mais que faut il changer (sans doute dans (\N+) afin que ma recherche aboutisse?
- Concernant les Expressions rationnelles et régulières, avez vous une bonne page française du wiki car là, c'est super technique, et ça + la traduction, c'est épuisant leur page la...

Pourriez vous tout du moins m'expliquer cette partie? "(?im)^Date survenance : (\N+)", 3)"
^ signifie que le mot ne comporte pas d'espace avant c'est ça?
Quelle différence entre 3 et 4? C'est le flag ça? Pourquoi ne rien mettre dans le offset?