Jump to content
  • 0
andromar

Cases à cocher

Question

Bonjour à tous,Dans mon application, l'utilisateur doit renseigner le(s) choix du mois pour une opération. Il dispose d'une rubrique affichant les 12 mois sous forme de cases à cocher, afin de pouvoir choisir plusieurs mois. J'ai donc une rubrique qui récupère ses choix avec un calcul du style : CAS (Mois = "Janvier" ; 1 ; ...) et à partir de laquelle je peux créer automatiquement une date complète (rubrique avec Date (Mois ; Jour ; Année). Mais je bute sur le point suivant : quand l'utilisateur entre plusieurs mois, la rubrique (avec CAS) refuse d'afficher des choix multiples ! Si mars est coché, elle affiche 3, mais si juin l'est aussi, elle n'affiche plus rien ! J'ai tenté de créer une rubrique proche avec CAS (Mois = "Janvier" ; "Janvier" ; ...) mais c'est pareil. J'ai tenté de la qualifier Multiévaluée, toujours rien !

Share this post


Link to post
Share on other sites

13 answers to this question

Recommended Posts

  • 0

Oups, mauvaise manipulation, je continue ...

Mon but, pour bien me faire comprendre, c'est de pouvoir récupérer par exemple mars et juin, pour d'une part fabriquer deux dates (5 mars 2019 et 5 juin 2019), d'autre part pour lancer des scripts spécifiques : SI(Rubrique contient Mars ...) et SI(Rubrique contient Juin ...) et je cale !

Vraiment merci si quelqu'un peut m'aider ou bien me renvoyer à une aide existante !

Share this post


Link to post
Share on other sites
  • 0

Bonjour Andromar (prénom ?),

Il te sera utile d'afficher une seconde fois la rubrique Mois, mais sans jeu de cases à cocher, en simple "zone d'édition". Ainsi, tu pourras observer ce qu'il se passe lorsque l'on coche plusieurs cases dans un jeu de cases à cocher. (C'est important, pour comprendre la suite)

En l'occurrence, si ton utilisateur coche mars et juin, la rubrique simple te montrera ceci :

mars

juin

(c'est à dire les valeurs cochées séparées par un retour chariot)

Voir, éventuellement, tu pourrais avoir :
 

juin

mars

si l'utilisateur à coché d'abord juin et ensuite mars.

Bref, je propose une solution :

- avoir une rubrique calculée avec la formule [ Mois_nombre = Substituer ( Mois ; [ "janvier" ; 1 ] ; [ "février" ; 2 ] ; … ) ],

- après cela, il te faudra des fonctions personnalisée pour trier la liste obtenue, extraire la valeur minimale et la valeur maximale, à partir desquelles tu pourras construire ta plage de dates.

 

Cela-dit, utiliser des cases à cocher pour indiquer un "début de période recherchée" et une "fin de période recherchée" pose plusieurs questions, parmi lesquelles la plus cuisante : "comment fait-on pour aller de novembre 2018 à mars 2019 ?". En général, dans ce contexte, on utilise 2 rubriques "début" et "fin", ce qui évite ensuite de devoir faire les manipulations sus-décrites et qui résout la question du changement d'année.


Bonne journée,

Jérémie

Share this post


Link to post
Share on other sites
  • 0

Merci  pour cette première réponse, Jérémie.

J'en profite pour te donner une explication : mon pseudo vient d'un surnom donné par mon père à sa villa : acronyme de AND(ré)RO(ger)MAR(celle), nos trois prénoms - moi, c'est Roger !

Sur le fond, je vais étudier ta solution, mais j'aimerai bien passer par des cases à cocher pour éviter toute erreur de saisie. Sur ce beau forum, j'ai trouvé un item assez proche, j'aimerais bien faire ce que fait ce petit programme que je joints, c'est-à-dire afficher des cases, et récupérer les infos dans une autre rubrique. Mon souci dans ce petit programme, c'est que je ne comprends pas pourquoi on n'a pas mis la référence à une liste (les mois) plus directement, et surtout, quelle fonction utiliser après pour que si, par exemple, mars est coché, je puisse récupérer l'info.

Si tu as des lumières, je suis preneur, et encore merci !

AjoutSupp.fmp12.zip

Share this post


Link to post
Share on other sites
  • 0

Je progresse dans ma recherche, donc je vous tiens au courant. J'ai réussi à avoir une rubrique avec des cases à cocher (une par mois) et une rubrique qui reprend en liste les noms des mois cochés. Bien, mais maintenant, quelle meilleure fonction utiliser pour rédiger un script capable, pour chaque mois coché, de lancer une action spécifique ? Par exemple, si mars, mai et septembre sont cochés, que le script laisse tomber les autres mois, et dise : si mars est coché, alors telle chose ... C'est peut-être tout simple ...

Merci par avance pour vos idées,

Share this post


Link to post
Share on other sites
  • 0

Salut pour ma part, je partirai sur les fct si  sinon si etc.....

La problème de la fct cas est lorsqu'elle trouve 1 résultat positif, elle s'arrête et continue les lignes du script donc pour utiliser la fct cas, les premiers tests sont sur les valeurs combinées, mars et juin et septembre, et en fin les fct simple cas mars seul renvoie vers aune action 

 

 

 

Share this post


Link to post
Share on other sites
  • 0

Merci Formi, 

Je comprends à peu près ta réflexion, mais j'ai l'impression de buter sur un point plus précis, je m'explique :

J'ai une rubrique sous forme de cases à cocher (pour les 12 mois de l'année) afin que l'utilisateur choisisse une ou plusieurs cases : par exemple mars et juin et novembre ...

Dans une autre rubrique, je récupére ces choix en clair sous forme de liste : Mars, Juin, Novembre.

Je bute là : j'ai besoin d'une fonction, dans un script, qui dise : si Mars est coché (et/ou donc dans cette liste), alors faire telle action ...

Je pense que cela passe par une boucle, mais quelle fonction utiliser pour aller récupérer Mars, puis Juin ... J'ai testé Occurrences, ObtenirValeurs ... sans succès !

Merci de me donner une réponse ...

Share this post


Link to post
Share on other sites
  • 0

Bonsoir,
Basiquement, une série de 12 SI/action/Fin de Si, le script n'exécutera que les actions des mois trouvés (via, par exemple, NotEstVide ( ValeursFiltre ( RubATester ; mois ) ).

Si (Janvier)//
Faire ça
Fin de Si
Si (Février)
Faire ça
Fin de si
Si (Mars)

Share this post


Link to post
Share on other sites
  • 0

Merci pour vos propositions, mais ce n'est pas toutefois ce dont j'ai besoin. Bien sûr, je vais faire une douzaine de SI, mais pour cela je dois récupérer le coche ou l'absence de coche pour chaque mois de ma rubrique affichée avec des cases à cocher. C'est sur cela que je bute : quelle fonction utiliser ? En clair, si l'utilisateur coche mars et septembre, comment aller récupérer cette information pour ensuite pouvoir écrire SI Mars = coché (?), alors faire cela ... Vu les qualités de FMP, je pense qu'une telle possibilité doit exister, mais qui peut me l'indiquer, svp ?Merci pour vos propositions, mais ce n'est pas toutefois ce dont j'ai besoin. Bien sûr, je vais faire une douzaine de SI, mais pour cela je dois récupérer le coche ou l'absence de coche pour chaque mois de ma rubrique affichée avec des cases à cocher. C'est sur cela que je bute : quelle fonction utiliser ? En clair, si l'utilisateur coche mars et septembre, comment aller récupérer cette information pour ensuite pouvoir écrire SI Mars = coché (?), alors faire cela ... Vu les qualités de FMP, je pense qu'une telle possibilité doit exister, mais qui peut me l'indiquer, svp ?

Share this post


Link to post
Share on other sites
  • 0

Bonjour Roger,

Et enchanté.

Le 09/09/2019 à 10:31, andromar a dit :

passer par des cases à cocher pour éviter toute erreur de saisie

Très bonne idée !

Le 09/09/2019 à 12:17, andromar a dit :

J'ai réussi à avoir une rubrique avec des cases à cocher (une par mois) et une rubrique qui reprend en liste les noms des mois cochés.

Bien. C'est ce que j'avais préconisé en premier dans mon message. S'agit-il bien de la MEME RUBRIQUE, affichée l'une en type Cases, l'autre en type Zone d'édition ? (C'est important, j'insiste)

J'ai regardé le fichier AjoutSupp que tu as transmis. Il est très bien et malin, mais apparemment, tu n'as pas besoin d'un truc aussi complexe.

 

Le 09/09/2019 à 20:05, andromar a dit :

J'ai testé Occurrences, ObtenirValeurs ... sans succès !

C'est ça que je ne comprends pas.

Si la rubrique Mois contient 2 cases cochées sur mars et septembre, le test [Occurrences ( Mois ; "mars" )] DOIT te renvoyer 1. N'est-ce pas le cas ?

NB : si tu as un jour une liste plus complète avec des valeurs qui en incluent d'autres, il faudra utiliser un calcul plus précis, vérifiant la présence de la valeur en tant qu'élément entier de la liste, et non la simple présence de la chaine de caractères. Exemple : dans "champagne", il y a "champ", donc si on a coché "champagne", on ne veut pas que "champ" soit considéré aussi comme coché par la formule de test.

Dans dans le cas des 12 mois de l'année, cette complication ne se présente pas, donc Occurrences doit faire l'affaire. N'hésite pas à envoyer tout ou partie de ton fichier, si cela ne marche pas.

 

A te lire,

Jérémie

Share this post


Link to post
Share on other sites
  • 0

Bonjour,
Une rubrique case à cocher avec les mois et des rubriques "test" calculées utilisant la fonction Occurrence pour savoir si un mois est coché.

Mois.fmp12.zip

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

Grâce au fichier Mois.fmp12.zip, j'ai la solution ! Bravo et merci - non, merçisssss !

Puis-je me permettre une question subsidiaire ? Quand je fais :

Définir Rubrique (Echeance ; Date ($Vmois ; $Vjour ; $Vannée ), et si $Vmois = février et $Vjour = 15 et $Vannée = 2019

j'obtiens pour Echeance : 15 décembre 2018 alors que je devrais avoir 15 février 2019 !

J'ai testé mes variables dans le Visualiseur de données, elles sont bonnes ... D'où cela peut-il venir ? Une mauvaise définition de Echeance ?

Encore merci par avance,

Share this post


Link to post
Share on other sites
  • 0
il y a 9 minutes, andromar a dit :

$Vmois = février

Si tu as vraiment "février" en toute lettre, alors que tu devrais avoir 2, c'est normal d'obtenir décembre.

Exemple :

634424360_Capturedcran2019-09-1114_09_12.png.d44968fe07255e3159606feb29678095.png

Après, pourquoi l'année est 2019, au lieu de 2020 ?? Ce qui est certain, c'est qu'on va éviter d'envoyer du texte en tant que numéro de mois…

Share this post


Link to post
Share on other sites
  • 0

Je me sens médiocre ... c'était bien cela ! Tout fonctionne à merveille ! 

Si je n'étais pas à la retraite, je crois que je me lancerais dans une aventure professionnelle sur FMP tellement c'est séduisant intellectuellement !

Après moult formations pour être du niveau des personnes de ce forum ... Encore merci !

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...