Salut @Lazer en me réveillant ce matin je me suis dit : allé je sais faire une boucle donc cherche un peu tu as le cerveau frais  Alors j'ai testé cela et ça a fonctionné, mais avec un principal problème qui est de définir le 5 de la boucle car si on met un chiffre trop élevé évidemment ça plante puisqu'on indexe un i qui pour la recherche d'une valeur qui n'existe pas dans la table, et pas assez élevé ça ne couvre pas toute la table. Et compter à la main combien de paramètres existent tu m'as compris. Voir ci-dessous : local Walli = 85 -- ici ID du module concerné de triossrf local Brillance -- la variable de triossrf local data = {} for i = 1,5 do data[i] = {} local m,rechercheId = data[i],nil m.rechercheId = api.get("/devices/"..Walli).properties.parameters[i].id if m.rechercheId == 10 then Brillance = api.get("/devices/"..Walli).properties.parameters[i].lastSetValue print(Brillance) end end     J'ai vaqué à mes occupations le reste de la journée, puis je m'y suis remis ce soir en regardant ton idée de ipairs que je n'avais encore jamais testé, sachant que la solution devait être vers là, . Et voilà ce que ça donne après quelques tests : le code ci-dessous qui fonctionne très bien chez moi : local Walli = 85 -- ici ID du module concerné de triossrf local Brillance -- la variable de triossrf for i, parameters in ipairs(api.get("/devices/"..Walli).properties.parameters) do if parameters.id == 13 then Brillance = (api.get("/devices/"..Walli).properties.parameters[i].lastSetValue) print("La valeur est "..Brillance) end end J'ai remplacé ton _ par i mais uniquement pour ma compréhension. Car j'ai essayé et les 2 fonctionnent, mais il y a peut-être une subtilité avec le _ que je ne connais pas.  Sois indulgent c'est mon premier ipairs, mais n'hésite pas à me dire si je n'ai pas trouvé la bonne solution ou si on peut mieux faire