Mauvaise syntaxe expression

Module de conception 3D et mise en plan fournissant tous les composants et procédés standard pour les métiers du bois.

Modérateurs : remi77, D@vid, Damien F., claire, Alexis GERARD, tibo.v1

Répondre
LouisonB
Caporal
Caporal
Messages : 21
Enregistré le : 27 mars 2023, 14:11
Version TopSolid : 6.23
Module TopSolid : TopSolid'Wood

Mauvaise syntaxe expression

Message non lu par LouisonB »

Bonjour à tous,

mon passé de littéraire me provoque des saignements de nez quand je dois saisir une expression un peu trop complexe pour mon cerveau niveau produits en croix et pourcentages. :)

Je cherche à faire une expression composée, la première partie fonctionne mais quand j'essaye de rallonger, rien ne va plus...

Expression qui fonctionne: when(tf==1,pac,0)

Je voudrais lui rajouter derrière (tf==2,pac,ep)

En fouillant sur le forum, j'ai trouvé de belles expressions avec des ";"

J'ai testé when(tf==1,pac,0;when(tf==2,pac,ep)) mais ça ne fonctionne pas.

Je voudrais que mon pac varie en fonction de tf.


Merci pour votre aide
Et si vous avez des lectures à me recommander avec des exemples de formules, ça m'intéresse grandement. :wink:
La loutre
Lieutenant-colonel
Lieutenant-colonel
Messages : 1015
Enregistré le : 18 oct. 2020, 21:32
Réponses : 41
Version TopSolid : 7.13
Module TopSolid : TopSolid'Steel
Localisation : Valenciennes
Contact :

Re: Mauvaise syntaxe expression

Message non lu par La loutre »

La condition When accepte 3 arguments.
Un test qui renvoie vrai ou faux.
L'expression à évaluer si le test est vrai.
L'expression à évaluer si le test est faux.
When( test ; expression si test vrai ; expression si test faux).
La condition When renvoie la valeur de l'expression évaluée.
En premier, il faut définir ce que tu as comme test et les valeurs que tu souhaites récupérer en fonction de ce test.
Dans ton cas, le test à l'air d'être basé sur tf. Maintenant, en fonction de tf, quel est le résultat attendu. Ensuite, tu peux imbriquer les conditions When pour atteindre ton résultat.
Avatar du membre
Liks
Lieutenant-colonel
Lieutenant-colonel
Messages : 1198
Enregistré le : 20 févr. 2015, 12:01
Réponses : 9
Version TopSolid : 6.24
Module TopSolid : TopSolid'Wood
Localisation : Roanne (France)
Contact :

Re: Mauvaise syntaxe expression

Message non lu par Liks »

Gloire à toi !

J'aurai tenté un :
Il te manque un cas pour écrire la fonction juste.

Si tf= 1 ==> renvoie pac
Si tf=2 ==> renvoie pac aussi ?

sinon ==> Renvoie quoi ?


La structure pour enchainer les when est la suivante :
when(test1,REPONSE_SI_VRAI,when(test2,REPONSE_SI_VRAI,REPONSE_SI_FAUX))

Exemple :
paramètre de test : Michel.
Condition : Si Michel = 1 alors je renvoie la paramètre Jeannine
Si Michel = 2 alors je renvoie le paramètre Hubert
Sinon (donc si Michel n'est ni égal à 1 ni à 2), alors je renvoie la valeur 42 (ben ouais la base :wink: :roll: )

==> when(Michel==1,Jeannine, when(Michel==2,Hubert,42))
Qui se lit :
Si Michel = 1 alors renvoyer Jeannine, sinon si Michel = 2 alors renvoyer Hubert, sinon renvoyer 42

J'espère que je suis à peu près clair. :mrgreen:
(Jette un oeil à la vidéo : https://www.youtube.com/watch?v=8xcxbS4ddes si ça peut t'aider peut-être :mrgreen:
Retrouvez-nous sur notre chaine YouTube autour de TopSolid https://www.youtube.com/@ideo.solutions
Découvrez notre site internet : https://www.ideo-solutions.com
Et pour ensavoir plus, notre LinkTree https://linktr.ee/Ideosolutions
Liks.
La loutre
Lieutenant-colonel
Lieutenant-colonel
Messages : 1015
Enregistré le : 18 oct. 2020, 21:32
Réponses : 41
Version TopSolid : 7.13
Module TopSolid : TopSolid'Steel
Localisation : Valenciennes
Contact :

Re: Mauvaise syntaxe expression

Message non lu par La loutre »

J'adore cette exemple et sa réponse ultime 42 😉
Avatar du membre
Damien F.
Modérateur
Modérateur
Messages : 2109
Enregistré le : 09 avr. 2010, 13:26
Réponses : 10
Version TopSolid : 6.22
Module TopSolid : TopSolid'Wood
Localisation : Marseille
Contact :

Re: Mauvaise syntaxe expression

Message non lu par Damien F. »

:lol: le 42 m'a tué. La réponse à tout du grand Guide.
LouisonB
Caporal
Caporal
Messages : 21
Enregistré le : 27 mars 2023, 14:11
Version TopSolid : 6.23
Module TopSolid : TopSolid'Wood

Re: Mauvaise syntaxe expression

Message non lu par LouisonB »

Merci pour vos réponses,
Je vais potasser ça lundi. J'étais trop impatiente de lire, je me mets un peu dans le bain avant... 😊
Répondre