WinParrot : Comment faire une boucle sur un fichier Excel

WinParrot : Comment faire une boucle sur un fichier Excel - Logiciels - Windows & Software

Marsh Posté le 02-02-2010 à 13:21:50    

Bonjour,
J utilise WinParrot depuis un moment pour faire des macros simples (enregistrer et rejouer).
je souhaiterai faire une petite macro pour charger mes donnres d une feuille Excel. Est-ce possible ? Si oui comment ?
Merci pour votre aide.

Reply

Marsh Posté le 02-02-2010 à 13:21:50   

Reply

Marsh Posté le 04-02-2010 à 08:27:14    

Bonjour
Je cherche toujours si vous avez des pistes...

Reply

Marsh Posté le 06-02-2010 à 15:02:02    

Bonjour smartfoot,
J'ai mis du temps à comprendre mais en fait même une non informaticienne comme moi y arrive alors ce n'est pas très compliqué (il y a des exemples sur le site de l'éditeur):
1) Tu enregistres une saisie
2)Tu ajoutes au début des variables Exemple:
$F= "nom_fichier.xls" ; $L=1    ($L est la 1ere ligne ou se trouve tes données dans la feuille Excel, sur la 1ere feuille)
3) Tu remplaces ton texte par chaque cellule d’Excel Exemple
Si tu as tapez pour les champs Nom et Prénom (qui se trouve en colonne A et B dans la feuille Excel):
"DUPONDV[RETURN]"
"PierreV[RETURN]"
Tu remplaces par :
XlsReadData($F,1, "A"&$L )& " V[RETURN]"
XlsReadData($F,1, "B"&$L )& " V[RETURN]"
4) Tu poses ta boucle en commençant par (sans espace entre le : et le D) : DEBUT_BOUCLE et en terminant par :
$L=$L+1 ; GoTo( : DEBUT_BOUCLE,1)
 
 
Tu peux optionnellement ajouter :
1) SetTitle("Ligne="&$L) Pour afficher lors de la lecture la ligne en cours
2) XlsWriteData($F,1, "A"&$L, "Ok" ) Pour notifier les lignes traitées  
3) IfImage(10,,Stop())  Pour poser un point d'arret s'il faut attendre un message pendant 10s max.

J’espère que cela t’aidera, si tu as des difficultés n’hésites pas.


Message édité par Karine75 le 06-02-2010 à 15:04:30
Reply

Marsh Posté le 07-02-2010 à 11:05:25    

Bonjour Karine75,
Je ne suis pas non plus informaticien mais avec tes explications cela a fonctionne du 1er coup. Merci beaucoup pour ton aide.

Reply

Marsh Posté le 11-02-2010 à 19:02:14    

Karine75,
j utilise la fonction IfImage dont  tu parles, mais lorsque mon texte est selectionne lors de l'enregistrement il change de couleur. Comment faire pour avoir l'image avant  selection ?

Reply

Marsh Posté le 23-02-2010 à 23:04:45    

Bonjour Smartfoot,
Désolé pour mon temps de réponse, j'espère que ta demande est toujours d'actualité. En fait tu as 3 solutions :
1) Lors de l'enregistrement tu clic a coté du bouton (tu aura alors une copie de l'écran du bouton avant de passer au dessus).
2) Tu utilises la fonction IfShape (Tu as juste a remplacer le nom la fonction)
3) Tu utilises les fonction SetColorTol ou/et SetPixelTol ces fonctions sont pratique si les couleurs ou les formes ne changes pas beaucoup.
J'espère que cela te seras utile.
Karine

Reply

Marsh Posté le 24-02-2010 à 08:33:15    

Bonjour Karine.
Merci pour tes reponses. J'utilise la fonction IfShape qui reconnait un texte meme d une autre couleur.  Je ne peux pas inserer de nouveaux enregistrements car j'ai beaucoup de GoTo qu'il faudrait mettre a jours...

Reply

Marsh Posté le 22-06-2010 à 12:52:31    

Bonjour Smartfoot,  
 
Tu ne devrais plus utiliser la fonction GoTo(Num Ligne, Num instruction) mais plutôt la fonction GoTo(<TAG>, Num tag) cela t'éviterait de devoir renumeroter si tu insert des enregistrements :ange:  
On m'a fait remarquer que dans ma reponse du 6 fev j'ai fait une boucle infinie et qu'il faut remplacer (pour faire 100 fois la boucle):
'4) Tu poses ta boucle en commençant par (sans espace entre le : et le D) : DEBUT_BOUCLE et en terminant par :  
$L=$L+1 ; GoTo( : DEBUT_BOUCLE,1) '
par :
'4) Tu poses ta boucle en commençant par (sans espace entre le : et le D) : DEBUT_BOUCLE et en terminant par :  
$L=$L+1 ; If($L<100, GoTo( : DEBUT_BOUCLE,1),) '
 
 
 
J'espère que cela te seras utile.  
Karine


Message édité par Karine75 le 22-06-2010 à 12:55:09
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed