On peut vous aider ?

Cherchez des réponses ou parcourez les rubriques de notre documentation

Voir aussi:

< All Topics
Print

Hyperliens et motif

Ce tutoriel vous montrera comment faire pointer un hyperlien sur l’un des enregistrements d’un motif.

Fichiers téléchargeables

Contexte

Les hyperliens sont très utiles pour guider l’utilisateur vers un endroit spécifique d’un formulaire et ceci est particulièrement précieux dans le cas de formulaires volumineux, en évitant à l’utilisateur de parcourir tout un document de façon fastidieuse. Les motifs sont un bon contexte d’utilisation ; en effet, dès lors qu’un motif contient plusieurs dizaines, voire plusieurs centaines de lignes, ce qui est somme toute assez fréquent, demander à l’utilisateur de parcourir manuellement les enregistrements du motif à la recherche d’une donnée particulière peut s’avérer particulièrement pénible. Ce tutoriel a pour but de vous montrer comment utiliser un hyperlien pour pointer vers un enregistrement particulier dans un motif.

Exemple fourni

Hyperliens et motifs

Le formulaire doit permettre de saisir une liste de contrats puis de sélectionner rapidement les contrats dont le montant est supérieur à 100.

Le motif est déclaré en A2 avec la syntaxe suivante :

=GTMOTIF("mon_motif";A5:E5;A5:E5;VRAI;VRAI;VRAI). 

Chaque enregistrement du motif contient les éléments suivants :

  • Ref : Boite de saisie obligatoire, la référence du contrat.
  • Date : Date, la date du contrat.
  • Montant : Boite de saisie, le montant du contrat.
  • > 100, un contrôle contenant la référence du contrat si le montant est supérieur à 100. Il est déclaré ainsi :
=GTCONTROLE("Sup100";SI(C5>100;A5;""))
  • La colonne E contient uniquement la formule =GTPATNUM() afin de déterminer le numéro de ligne dans le motif (numéro d’enregistrement)

Afin de sélectionner les contrats dont le montant est supérieur à 100, une liste déroulante dynamique est créée en D1 avec la déclaration suivante :

="¤¤ListeSup100;L;ITEMSSRC=">RANGE($D$5:$D$6). 

La colonne D contenant les références des contrats dont le montant est supérieur à 100 ou des vides, la liste déroulante sera correctement alimentée. Il s’agit ensuite de créer l’hyperlien pointant sur l’enregistrement sélectionné dans la liste déroulante. Cet hyperlien est déclaré en D2 avec la syntaxe suivante :

=GTHYPERLIEN("Lien";SI(D1="";"";"Aller à "&D1);"qsth://Ref"&"."&(RECHERCHEV(D1;$A$5:$E$6;5;FAUX)))

La fonction RECHERCHEV renvoie le numéro de ligne du contrat sélectionné dans la liste déroulante, la fonction SI étant là pour n’afficher le libellé de l’hyperlien que si un contrat est sélectionné.

La fonction GTHYPERLIEN doit pointer vers un composant. En l’occurrence, c’est le composant « Ref » qui est la cible de l’hyperlien. Une fois résolue, la formule déterminant l’hyperlien dans la capture d’écran ci-dessous se lirait ainsi :

=GTHYPERLIEN("Lien"; "Aller à b"; "qsth://Ref.2)

Preview dans GTAnswer

Points de vigilance

  • Vérifiez que la liste déroulante est bien éditable afin d’éviter une incohérence de données. Dans la capture d’écran ci-dessus, la liste déroulante contient l’item « b » car la valeur du champ « Montant » correspondant est supérieure à 100 (elle vaut ici 456). Cependant, le champ « Montant » étant éditable, si l’utilisateur modifie sa valeur pour une valeur inférieure à 100 après avoir sélectionné « b » dans la liste déroulante, il ne pourra pas transmettre ses données si la liste déroulante n’est pas éditable. En effet, si la nouvelle valeur du montant est inférieure à 100, alors la liste déroulante ne contient plus l’élément « b » et une erreur sera soulevée lors d’une tentative de transmission, indiquant que la valeur de la liste déroulante ne fait pas partie des éléments de la liste. Le seul moyen d’éviter cette erreur est donc de rendre la liste déroulante éditable grâce au switch « E ».
Was this article helpful?
0 out Of 5 Stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
5
How can we improve this article?
How Can We Improve This Article?
Table of Contents