AppleScript récuperer une liste dans une liste

Moutet

Membre junior
5 Avril 2017
25
0
63
Bonjour,

Mon problème consiste à récuperer une liste dont le nom est dans une autre liste si c'est possible je mets l'exemple ci dessous:

set maPremiereListe to {1, 2, 3, 4, 5}
set maSecondeListe to {"J'ai", "mal", "a la", "tete"}
set maListeDeMesListes to (maPremiereListe, maSecondeListe)
set monChoix to (choose from list maListeDeMesListes with prompt "Choisissez la liste" OK button name "Validation" cancel button name "Arrêt")

-- seulement monChoix n'est pas une liste même si je mets les parentheses
Qui peut m'aider ?
 

zeltron54

Membre d’élite
29 Mars 2008
1 755
262
Lorraine
Bonjour,

Pas sur d'avoir tout compris mais si tu veux avoir une liste en sortie du choix fait :

Bloc de code:
set maPremiereListe to "1, 2, 3, 4, 5"
set maSecondeListe to "J'ai, mal, a la, tete"
set maListeDeMesListes to {maPremiereListe, maSecondeListe}
set monChoix to (choose from list maListeDeMesListes with prompt "Choisissez la liste" OK button name "Validation" cancel button name "Arrêt")
set monChoix to monChoix as list
 

Moutet

Membre junior
5 Avril 2017
25
0
63
Salut Zeltron et merci pour ta réponse rapide

En faite j'aurais voulu garder mes listes tel quel pour pouvoir selectionner par la suite les items qui m'intéresse
J'ai 20 listes différentes donc je choisi une liste1 ou plusieurs dans maListeDesListes et ensuite je veux choisir un ou plusieurs item de ma liste 1.
Je me demande si une liste composée de listes c'est possible.
Il va falloir contourner le problème
 

zeltron54

Membre d’élite
29 Mars 2008
1 755
262
Lorraine
Mais en faisant comme mon exemple, Tu as bien une liste après le choix.

Tu peux aussi donner un nom à chaque liste, nom qui sera dans la liste de choix et en sortie , si choix = XX tu utilises la liste correspondante...

Je ne vois pas où est le problème.
 

Moutet

Membre junior
5 Avril 2017
25
0
63
Je suis pas un expert, les listes que tu crées sont des variables string et pas des listes ?
La liste, que tu récupèrent, est une liste avec tes deux variables déclarées précédemment, Après avoir choisi la liste si je veux faire un choix dans cette dernière c'est pas possible
 

zeltron54

Membre d’élite
29 Mars 2008
1 755
262
Lorraine
Je te met un exemple:

Bloc de code:
set maPremiereListe to {1, 2, 3, 4, 5}
set maSecondeListe to {"J'ai", "mal", "a la", "tete"}

set monChoix to (choose from list {"liste 1", "Liste 2"} with prompt "Choisissez la liste" OK button name "Validation" cancel button name "Arrêt") as string

--Si monchoix est liste 1 et je veux le troisième élément
tell application "Finder"
    if monChoix is "liste 1" then
        set le3 to item 3 of maPremiereListe
        
        display dialog "le 3 de liste 1  est : " & le3
        
        --Si monchoix est liste 2 et je veux le deuxième élément
    else if monChoix is "Liste 2" then
        set le2 to item 2 of maSecondeListe
        
        display dialog "le 2 de liste 2  est : " & le2
    end if
    
end tell
 

Moutet

Membre junior
5 Avril 2017
25
0
63
Bonjour Zeltron

Je crois que j'ai compris. En faite maListeDesListes doit comporter des noms ou un numéro "string"
et ensuite j'affectes chaque item à sa liste et je peux appeler ma liste pour faire mon choix à l'intérieur de cette dernière. je te tiens au courant

encore Merci
 

Moutet

Membre junior
5 Avril 2017
25
0
63
J'ai ce qu'il me faut
set maPremiereListe to {1, 2, 3, 4, 5}
set maSecondeListe to {"J'ai", "mal", "a la", "tete"}
set monChoix to (choose from list {"liste 1", "Liste 2"} with prompt "Choisissez la liste" OK button name "Validation" cancel button name "Arrêt") as string

--Si monchoix est liste 1
tell application "Finder"
if monChoix is "liste 1" then
set monChoix to maPremiereListe
-- Maintenenant Je peux faire mon choix dans cette liste
set monNChoix_1 to (choose from list monChoix with prompt "Choisissez la liste" OK button name "Validation" cancel button name "Arrêt") as string
--Si monchoix est liste 2
else if monChoix is "Liste 2" then
set monChoix to maSecondeListe
set monNChoix_2 to (choose from list monChoix with prompt "Choisissez la liste" OK button name "Validation" cancel button name "Arrêt") as string
end if

end tell


il n'y a plus qu'à écrire la routine qui va bien
encore Merci
 

zeltron54

Membre d’élite
29 Mars 2008
1 755
262
Lorraine
Content pour toi !