Bonjour à 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 :
Puis, on va revenir sur la cellule et ajouter une liste déroulante via la validation de données :
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
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
Excellent, je ne connaissais pas !
Merci
Gaëtan
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
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