Tu veux une réponse a un problème mais tu ne veux pas expliquer ton problème, c'est pas gagné.
Pour ton infos, le switch a de multiple facette et on peut très bien avec un switch tester autant de variable que l'on veux. Certaine syntaxe sont simplement assez rare mais existent et fonctionnent tout a fait. Tu vois, je fais un peu comme toi, du teasing...
Le code de sékil correspond exactement a la série de ifelse que tu as donnée.
Dans tes if, le premier qui est vérifié est executer et seulement lui.
Il fait exactement la meme chose dans un while, il cherche le premier elemant du tableau qui est > 0, puis effectue le code dans le if si il a en a trouvé 1 et le code du else si aucun élément du tableau n'étaient > 0.