On peut vous aider ?
Cherchez des réponses ou parcourez les rubriques de notre documentation
Conditionnement
Le conditionnement, également appelé « masquage conditionnel », est une technique très utile, notamment pour optimiser l’ergonomie d’un document GT. La vidéo ci-dessous décrit les 5 cas d’utilisation les plus fréquents.
Généralités
Le conditionnement permet de masquer dynamiquement des lignes, des colonnes ou des feuilles complètes du questionnaire en fonction du résultat d’une formule.
Formules de déclaration du conditionnement dans le classeur Excel de conception :
GTCONDITIONNEMENTLIGNE(Cellule_ancrage ; formule ; lignes à conditionner)
GTCONDITIONNEMENTCOLONNE(Cellule_ancrage ; formule ; colonnes à conditionner)
GTCONDITIONNEMENTFEUILLE(Cellule_ancrage ; formule )
La cellule d’ancrage doit se trouver dans un motif lorsque l’on souhaite qu’un conditionnement sur les lignes soit recopié sur chaque « range » du motif.
La page de lignes / colonnes à masquer doit être spécifiée « en dur », elle ne peut pas être une formule. Il est toutefois possible de masquer un nombre dynamique de lignes ou de colonnes en utilisant la formule. En effet, si la plage à masquer contient plusieurs lignes ou colonnes, alors GT fait « glisser » la formule, ce qui permet de faire varier le nombre de lignes / colonnes à masquer. Cet exemple téléchargeable montre comment cela fonctionne.
Le conditionnement :
- masque les cellules des lignes/colonnes ou les feuilles, lorsque la formule renvoie la valeur VRAI
- interdit au correspondant la saisie dans les composants se trouvant dans les zones masquées (lignes, colonnes ou feuilles)
- ne rend plus obligatoire les composants marqués comme tels et se trouvant dans les zones masquées (lignes, colonnes ou feuilles)
- ne masque pas les objets se trouvant initialement sur les lignes/colonnes à masquer
- n’est jamais actif dans Design (mais l’est dans la visualisation GTAnswer via Design)
- ne doit référencer que des cellules du même onglet que la déclaration et la cellule d’ancrage.
Conditionnement des feuilles
Toutes les feuilles (sauf les feuilles déjà masquées dans Design) peuvent être conditionnées, y compris les feuilles des multi-onglets.
Au moins une feuille doit être affichée dans le questionnaire, si les conditionnements induisent que toutes les feuilles devraient être masquées, une feuille restera cependant affichée.
Le statut d' »Export si page cachée » est pris en compte lors de l’export Excel.
Vous pouvez ainsi définir dans Design si une page masquée par le conditionnement : – sera masquée dans le classeur Excel exporté – sera très masquée dans le classeur Excel exporté – ne sera pas présente dans le classeur Excel exporté
Il est conseillé de placer le « statut d’export si page cachée » à « Trés masqué ».
Conditionnement des lignes et des colonnes
Le conditionnement sur une plage complète est possible (par exemple 1:3 ou A:D).
Dans le cas de conditionnement sur des plages, la formule de conditionnement est comme « tirée » sur la plage des lignes et/ou des colonnes à masquer.
=gtconditionnementligne(A5;B1>0;4:7)
masquera la ligne 4 si la cellule B1 est >0 masquera la ligne 5 si la cellule B2 est >0, etc…
=gtconditionnementligne(A5;B$1>0;4:7)
masquera la ligne 4 si la cellule B1 est >0 masquera la ligne 5 si la cellule B1 est >0, etc…
Pour lever les ambigüités de tirage de formules pour le conditionnement, il suffit généralement de vérifier dans Design les formules de conditionnement effectivement appliquées.
Le conditionnement permet, par le masquage dynamique des colonnes, de gérer plus facilement des tableaux à nombre de colonnes variable (cf Exemples)
Conditionnement et motif
Si la cellule d’ancrage se trouve dans un motif, le conditionnement sera opérationnel sur chaque ligne du motif (la formule sera tirée/recopiée en tenant compte des plages absolues et relatives).
Pour masquer un motif complètement, il suffit d’appliquer un conditionnement à l’intérieur du motif masquant la ou les lignes du motif avec la même condition pour toutes les lignes.
Le masquage de lignes sous un motif se fera naturellement en masquant la ligne souhaitée.
Le masquage de colonnes est indépendant du motif et devrait avoir une cellule d’ancrage en dehors du motif.
Images et graphiques
Le masquage des lignes/colonnes permet de faire varier le nombre des séries ou de points affichés dans un graphique.
Ceci peut permettre de simuler une mise en forme conditionnelle sur les graphiques en créant par exemple plus de séries que nécessaire (sur les mêmes données mais avec des mises en forme différentes) et en masquant les séries que l’on ne veut pas voir.
Le nombre de points est modifiable dynamiquement via le conditionnement mais ce nombre sera alors le même pour toutes les séries.
Une simulation de mise en forme sur un graphique sera relativement simple si elle s’applique à la série entière.
Dans les cas de mises en forme sur des points d’une série, il pourra être utile d’utiliser des techniques renvoyant une chaîne vide « » ou #NA pour « mélanger » visuellement les points de plusieurs séries.
Dans la plupart des cas, le nombre de séries maximum devra être prévu à l’avance (comme dans Excel avec un graphique standard)
Pour les objets (images et graphiques) situés après des lignes ou des colonnes conditionnées :
- les objets ne sont pas redimensionnés et donc ne sont pas masqués même si l’objet est entièrement contenu dans une ligne/colonne masquée.
- les objets sont déplacés par le masquage des lignes et des colonnes
Si une image doit être masquée lorsque sa cellule fait partie d’une ligne ou d’une colonne masquée, alors elle doit comporter la propriété Excel « Déplacer et dimensionner avec les cellules » .
Conditionnements, masquage de lignes/colonnes dans Design et filtres
Si une ligne ou une colonne quelconque est masquée manuellement à la conception (dans Design), par le conditionnement ou par le filtre interactif de motif, alors la ligne ou la colonne est masquée dans GTAnswer.
Ainsi une ligne masquée dans Design restera tout le temps masquée.
Une ligne masquée par le conditionnement ne pourra pas être affichée par le filtre interactif de motif.
Une ligne masquée par le filtre interactif de motif ne pourra pas être affichée par le conditionnement.
Import Excel-Answer et conditionnement
L’import Excel est réalisé en tenant compte des lignes/colonnes/feuilles masquées (où l’utilisateur ne peut renseigner de valeurs) au moment où l’import est déclenché, de la même manière que pour les verrous.
Conditionnements imbriqués
Deux conditionnements peuvent être déclarés sur des plages communes, les lignes/colonnes seront masquées dès que l’un des conditionnement sera appliqué.
Exemple : Si l’on inscrit ces deux formules de déclaration de conditionnements dans le classeur =gtconditionnementligne(A5;A$1>0;5:5) =gtconditionnementligne(A5;B$1>0;4:7)
Il suffira que la cellule A1 soit >0 ou la cellule B1 soit >0 pour que la ligne 5 soit masquée.
Performances
Tous les conditionnements sur les lignes et les colonnes d’une feuille sont recalculés en fonction d’un gestionnaire de dépendances (et des modifications de calculs sur la feuille).
Tous les conditionnements feuille sont systématiquement calculés à chaque modification de donnée.
Le coût des formules de conditionnement ligne et colonne est grosso modo équivalent au coût des mêmes formules que les formules de conditionnement qui seraient inscrites dans des cellules sur la feuille. Les formules de conditionnement feuille sont réévaluées systématiquement (i.e. à chaque saisie de l’utilisateur ou changement d’onglet).
Les conditionnements ne devraient donc être utilisés que dans les cas de faible volumétrie.
Exemple simple
Exemple avancé
Simulation de tableau croisé pour les synthèse ou la saisie :
TCSSimu-Qst.zip
(A importer dans Design)