Variante sur le lien hypertexte

excel-vba-produitBBonjour à tous,

Suite à mon précédent post, on peut ajouter quelques modifications au projet.

Voici le lien pour le fichier.

Petite piqure de rappel pour lier le menu déroulant à une table via un nom défini.

Tout d'abord en créant le nom sur la table :
creation_du_nom

Puis, on va revenir sur la cellule et ajouter une liste déroulante via la validation de données :
donnees_validation_listes

Finalement on ajoute la formule

Ensuite, si vous voulez que le lien fonctionne non pas sur un nom, mais en utilisant une recherche, on peut utiliser la formule suivante pour rechercher la valeur choisie en B2 dans la table contenant les données :
ADRESSE(EQUIV(B2;Tableau1[Liste des produits];0)+LIGNE(Tableau1[[#En-têtes];[Liste des produits]]);COLONNE(Tableau1[[#En-têtes];[Liste des produits]]));"Aller au " & B2)

Equiv permet de rechercher la position du produit dans la table des produits.
On utiliser ligne et colonne pour localiser ce tableau.

Il faut aussi ajuster la localisation de la feuille, soit dans la même feuille, ou bien dans une autre feuille :
=LIEN_HYPERTEXTE("[" & STXT(CELLULE("nomfichier");TROUVE("[";CELLULE("nomfichier"))+1;TROUVE("]";CELLULE("nomfichier"))-TROUVE("[";CELLULE("nomfichier"))-1) & "]" &
"'" & "Liste" & "'!"
& ADRESSE(EQUIV(B2;Tableau1[Liste des produits];0)+LIGNE(Tableau1[[#En-têtes];[Liste des produits]]);COLONNE(Tableau1[[#En-têtes];[Liste des produits]]));"Aller au " & B2)

On remarquera l'utilisation des ' ' pour encadrer le nom de la feuille, notamment lorsqu'on utilise des espaces dans les noms de feuille.

[EDIT] : Suite au commentaire de DocLeka ci-dessous, on peut aussi utiliser une formule simplifiée pour gérer le nom du classeur :
=LIEN_HYPERTEXTE(
"#'Liste'!"
& ADRESSE(EQUIV(B2;Tableau1[Liste des produits];0)+LIGNE(Tableau1[[#En-têtes];[Liste des produits]]);COLONNE(Tableau1[[#En-têtes];[Liste des produits]]));"Aller au " & B2)

Comme vous le voyez, cette approche ouvre la porte à de nombreuse possibilités de déplacements dans un fichier.

Amuez-vous bien !

Gaëtan Mourmant

Pour marque-pages : Permaliens.

4 réponses à Variante sur le lien hypertexte

  1. DocLeka dit :

    Bonjour,

    Il est possible aussi de faire :
    =LIEN_HYPERTEXTE(“#’Liste’!”
    & ADRESSE(EQUIV(B2;Tableau1[Liste des produits];0)+LIGNE(Tableau1[[#En-têtes];[Liste des produits]]);COLONNE(Tableau1[[#En-têtes];[Liste des produits]]));”Aller au ” & B2)

    Le # permet d’indiquer que l’on travaille sur le classeur actif et on peut s’affranchir de la fonction STXT !

    Bien à vous

  2. Gaetan dit :

    Excellent, je ne connaissais pas !
    Merci
    Gaëtan

  3. Liana Delapierre dit :

    Merci Gaëtan pour ton humilité et ton enthousiasme à continuer de découvrir Excel.
    Cela démontre une fois de plus que ce “monstre” Excel n’a pas de limite et qu’à nous tous, on s’enrichit à partager nos connaissances.
    Merci DocLeka & Gaëtan.
    C’était ma remarque positive du soir 😉
    Liana

  4. Gaetan dit :

    Oui, et avec PowerPivot, je pense qu’on est encore loin d’avoir tout vu, sans compter les propres développements.
    A bientôt.
    Gaëtan

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.