# Applescript - je dois rater quelque chose - Résolu



## Chrisdfr (9 Mai 2022)

Bonjour,

Je débute avec applescript et je bute sur un problème.

Quand je créé ce script depuis l'éditeur de script, ça fonctionne sans problème. La case e2 prend bien la valeur 2



> tell application "Numbers"
> activate
> open "/Users/admin/Documents/test.numbers"
> set numero to "2"
> ...



Cependant quand je rajoute un autre bloc en amont, qui ici ne fait rien mais devra faire quelque chose plus tard, ça ne fonctionne plus.


> tell application "Finder"
> set numerofinder to "5"
> return
> end tell
> ...



Plus tard, je voudrais faire une récupération de valeur depuis le finder vers Numbers. Mais comme ça ne fonctionnait pas j'ai simplifié mon code pour voir d'où ça venait. Et je constate que quand on rajoute un bloc "tell ... finder" en amont, le second "tell.... Numbers" ne prend pas la main.

Est ce que quelqu'un pourrait m'indiquer ce qui bloque ?

Merci
Chris


----------



## zeltron54 (9 Mai 2022)

Bonjour,

Ce qui bloque est ton "return" dans le bloc "finder"

Supprime ce return et cela devrait fonctionner


----------



## Chrisdfr (9 Mai 2022)

Merci beaucoup pour votre aide, c'était bien ça. 

En revanche, quand je complexifie un peu mon script, la variable créée dans le premier bloc ne semble pas vue par le second. Je pensais que ce "return" permettait que le second bloc puisse récupérer la variable. Si je ne le mets pas, j'ai une erreur, "variable non définie". 

Du coup comment le second bloc peut il utiliser le résultat d'une variable créée dans le premier bloc ?


----------



## zeltron54 (9 Mai 2022)

Normalement la variable est bien vue
--Ta variable porte bien le même nom ?
Dans ton exemple numerofinder puis numero ?


----------



## Chrisdfr (9 Mai 2022)

Oui, c'est assez bizarre. Je viens de fermer l'éditeur de script, puis rouvrir le script qui produisait l'erreur et là, il fonctionne. 

J'avais deux documents numbers ouverts. 

Un pour mon script de développement et un autre pour mon test. Bien que j'appelle le fichier "numbers1" spécifique à mon développement, si le fichiers "numbers2" de test est ouvert, il semble considérer le mauvais fichier, le N°2 comme fenêtre courante et pointe le mauvais fichier. En fermant le fichiers numéro 2 (de test), ça fonctionne... Donc il vaut mieux ne pas avoir plusieurs fichiers numbers ouverts en même temps.

Merci et en tout cas pour votre aide.


----------



## zeltron54 (9 Mai 2022)

Dans ton code:
tell table 1 of sheet 1 of front document

cette ligne dit d'exécuter la commande sur le fichier numbers qui est au premier plan sur la première table sur la première feuille...

Met la commande activate après l.ouverture de ton fichier…


----------

