IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

QlikView Discussion :

Sélections multiples dans déclencheur


Sujet :

QlikView

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 100
    Points : 66
    Points
    66
    Par défaut Sélections multiples dans déclencheur
    Bonjour à tous,

    Je souhaite faire un déclencheur sur une feuille, qui sélectionne la ou les période(s) selon la logique suivante :

    "Si aucune période sélectionnée --> sélection période max,
    sinon --> garder la sélection actuelle".

    Donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If(GetSelectedCount("PERIODE")=0,Max("PERIODE"),GetFieldSelections("PERIODE"))
    Ca fonctionne bien, sauf en cas de sélection multiple sur la période...

    Une idée?

  2. #2
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 651
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 651
    Points : 2 531
    Points
    2 531
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    La fonction "GetFieldSelections" retourne les valeurs sélectionnées, séparées par des virgules.

    Or, pour sélectionner plusieurs valeurs dans les actions, il faut soit :
    - sélectionner 1 valeur avec l'action "sélectionner dans le champ", puis sélectionner 1 à 1 les valeurs suivantes avec l'action "Bouton de sélection" (en anglais : "Toggle selection", qui fait l'équivalent de "j'appuie sur la touche Ctrl pendant que je fais ma sélection, pour ajouter la valeur à la liste des valeurs possibles").
    Pour faire comme ça, il faut passer par une macro.


    MAIS, si on décide de passer par une macro, alors on peut se permettre de directement ne rien faire dans le cas où il y a déjà une sélection.

    Dans l'éditeur de module, on met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    sub makeSelection
    	set doc = ActiveDocument
     
    	' On récupère la sélection du champ qui nous intéresse.
    	set mySelections = doc.fields("PERIODE").GetSelectedValues
     
    	' On regarde combien il y a de valeurs dans cette sélection.	
    	if mySelections.Count = 0 then
    		' Il n'y a aucune valeur, alors on prend calcul la valeur maximum possible.
    		maxPossibleValue = doc.evaluate("max(PERIODE)")
     
    		' On change la sélection pour sélectionner la valeur souhaitée.
    		doc.fields("PERIODE").select(maxPossibleValue)
    	else
    		' Il y a déjà une sélection, alors on ne fait rien.
    		'msgbox "On ne fait rien"
    	end if
    end sub
    (notez qu'on prend la valeur maximum possible, pas la valeur maximum absolue.

    Et dans les actions, on met "exécuter une macro" en précisant le nom de la macro.


    Avantage : la sélection est propre.
    Inconvénient : ce n'est pas le plus simple à mettre en place.



    - donner la liste des valeurs à sélectionner dans l'action "sélectionner dans le champ" au format suivant :
    Votre expression s'écrira alors ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =IF(GetSelectedCount(PERIODE)=0, Max(PERIODE), '(' & concat(PERIODE, '|') & ')')
    Avantage : c'est simple à mettre en place.
    Inconvénient : la sélection qui en résulte dans les sélections actives n'est pas propre : elle affichera "(valeur1|valeur2)" au lieu de "valeur1, valeur2".

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 100
    Points : 66
    Points
    66
    Par défaut
    Bonjour PhunkyBob,

    Merci pour cette réponse très complète.

    Je pense que je vais opter pour la macro ; j'aime quand les choses sont "propres" dans mes applications

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sélection multiple dans un sous formulaire ?
    Par _developpeur_ dans le forum Access
    Réponses: 2
    Dernier message: 09/03/2019, 02h05
  2. Réponses: 2
    Dernier message: 24/08/2006, 12h33
  3. Sélection Multiple dans une JTable
    Par bobic dans le forum Composants
    Réponses: 3
    Dernier message: 07/08/2006, 18h35
  4. sélection multiple dans plusieurs zones de liste
    Par malabar92 dans le forum Access
    Réponses: 2
    Dernier message: 16/05/2006, 02h08
  5. [Débutant] Sélection multiples dans une Listbox
    Par eraim dans le forum Access
    Réponses: 4
    Dernier message: 15/10/2005, 04h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo