Page 1 sur 1

Optimisation d'une macro basique

Posté : 29 août 2023, 20:50
par Seph
Bonjour à tous,

J'utilise supermacro depuis quelques temps mais je suis clairement débutant en programmation. L'execution de ma macro n'est pas assez rapide malgré un temps de pause au minimum (1 ms) et un déplacement de souris instantanné. Si je retire les pauses, mon pc ne suit pas et plante. Je cherche donc à optimiser ma macro. Je pourrais résumer la macro comme ceci :
- cliquer sur une fenêtre
- executer des frappes de touches
- cliquer sur une seconde fenêtre
- executer les mêmes frappes de touches

Et ce pour 5 fenêtres différentes.
J'ai pensé à une boucle qui répèterait les executions de frappes de touches mais je ne sais pas comment correctement affecter les coordonnées de clique sur telle ou telle fenêtre...

Des idées d'optimisation pour une execution plus rapide ? Merci d'avance

La macro en question :

Code : Tout sélectionner

Label	1
Move Mouse	520;89;Direct;
Click	Left Down;
Click	Left Up;
Click	Left Down;
Click	Left Up;
Type Special	C;
Type Special	T;
Type Special	&;
Type Special	é;
Type Special	";
Type Special	E;
Type Special	1 (PAVE NUM.);
Type Special	2 (PAVE NUM.);
Type Special	3 (PAVE NUM.);
Type Special	4 (PAVE NUM.);
Click	Left Down;
Click	Left Up;
Click	Left Down;
Click	Left Up;
Move Mouse	1173;82;Direct;
Click	Left Down;
Click	Left Up;
Click	Left Down;
Type Special	C;
Type Special	T;
Type Special	&;
Type Special	é;
Type Special	";
Type Special	E;
Type Special	1 (PAVE NUM.);
Type Special	2 (PAVE NUM.);
Type Special	3 (PAVE NUM.);
Type Special	4 (PAVE NUM.);
Click	Left Down;
Click	Left Up;
Click	Left Down;
Click	Left Up;
Move Mouse	1809;86;Direct;
Click	Left Down;
Click	Left Up;
Click	Left Down;
Click	Left Up;
Type Special	C;
Type Special	T;
Type Special	&;
Type Special	é;
Type Special	";
Type Special	E;
Type Special	1 (PAVE NUM.);
Type Special	2 (PAVE NUM.);
Type Special	3 (PAVE NUM.);
Type Special	4 (PAVE NUM.);
Click	Left Down;
Click	Left Up;
Click	Left Down;
Click	Left Up;
Move Mouse	536;628;Direct;
Click	Left Down;
Click	Left Up;
Click	Left Down;
Click	Left Up;
Type Special	C;
Type Special	T;
Type Special	&;
Type Special	é;
Type Special	";
Type Special	E;
Type Special	1 (PAVE NUM.);
Type Special	2 (PAVE NUM.);
Type Special	3 (PAVE NUM.);
Type Special	4 (PAVE NUM.);
Click	Left Down;
Click	Left Up;
Click	Left Down;
Click	Left Up;
Move Mouse	1187;640;Direct;
Click	Left Down;
Click	Left Up;
Click	Left Down;
Click	Left Up;
Type Special	C;
Type Special	T;
Type Special	&;
Type Special	é;
Type Special	";
Type Special	E;
Type Special	1 (PAVE NUM.);
Type Special	2 (PAVE NUM.);
Type Special	3 (PAVE NUM.);
Type Special	4 (PAVE NUM.);
Click	Left Down;
Click	Left Up;
Click	Left Down;
Click	Left Up;
Goto	1

Re: Optimisation d'une macro basique

Posté : 02 sept. 2023, 03:29
par Onissius
Tes séries de cliques, fait 1 double clique.
Tu tape ton texte touche par touche, pourquoi ne pas utiliser "Frappe de texte" à la place ?
Pour le texte tu peux aussi utiliser une variable qui contient le texte à taper.
Pour sélectionner tes fenêtres, pourquoi ne pas utiliser la fonction "Handle" ?

A toi d'ajouter les Handle pour sélectionner la fenêtre que tu souhaite utiliser à ce code.

Code : Tout sélectionner

Variable	<Texte>;CT&é"E1234;Alpha;
Commentaire	
Label	<Debut>
Commentaire	
Commentaire	Fenêtre 01
Move Mouse	520;89;Direct;
Click	Left double-click;
Type	<Texte>
Click	Left double-click;
Commentaire	
Commentaire	Fenêtre 02
Move Mouse	1173;82;Direct;
Click	Left double-click;
Type	<Texte>
Click	Left double-click;
Commentaire	
Commentaire	Fenêtre 03
Move Mouse	1809;86;Direct;
Click	Left double-click;
Type	<Texte>
Click	Left double-click;
Commentaire	
Commentaire	Fenêtre 04
Move Mouse	536;628;Direct;
Click	Left double-click;
Type	<Texte>
Click	Left double-click;
Commentaire	
Commentaire	Fenêtre 05
Move Mouse	1187;640;Direct;
Click	Left double-click;
Type	<Texte>
Click	Left double-click;
Commentaire	
Commentaire	
Goto	<Debut>

Re: Optimisation d'une macro basique

Posté : 03 sept. 2023, 11:05
par Seph
Merci pour ta réponse ! Dans mon cas, la frappe de texte ne fonctionne pas, comme si la touche du clavier n'était pas actionnée dans le processus.

Concernant le double clic, je n'avais pas l'option avec ma version de super macro. J'ai téléchargé la version beta, le double clic y est présent. Seulement les frappes de touches ne marchent plus sur cette version, même en utilisant mon ancien programme.

Une idée de l'option qui pourrait causer cette différence ?

Re: Optimisation d'une macro basique

Posté : 05 sept. 2023, 00:59
par Onissius
Tu lance SM en administrateur ?