Création d'une cellule à texte dynamique

Bonjour à tous,

Je travaille actuellement sur un projet professionnel à destination de clients pour lesquels nous souhaitons envoyer un document synthétique sur des produits à la vente.

Le but de ce fichier est simple :

  • sur la partie gauche de la feuille : un tableau présentant la liste des références de produits (ça c'est tout bon, j'en ai fait mon affaire ^^)
  • sur la droite une grande cellule "descriptive" qui serait capable d'afficher un détail plus complet du produit (c'est là que j'ai besoin de vous)

J'aimerai donc savoir si il existe un moyen (formule, VBA,...) pour que s'affiche de manière dynamique dans la cellule à droite du tableau le détail du produit sélectionné.

D'avance merci pour votre aide.

Belle journée à tous !

Sam.

Bonjour,

Tu as différentes manières d'appréhender le sujet.

Avec la fonction RECHERCHEV() ou EQUIV() et INDEX().

Joins un fichier !...

Cdlt.

Bonjour Jean-Eric,

Merci de répondre une nouvelle fois à mes demandes.

J'avais bien vu quelque chose avec RECHERCHEV() mais j'avoue que mes quelques bases (minimes) sur Excel ne me permettent pas une grande autonomie (mais je me forme, promis ^^) et j'ai souvent du mal à traduire l'idée dans ma tête par des formules ou du code. Et ton aide est plus que la bienvenue tant elle est claire et précise.

J'attache à mon message un fichier qui ressemblera à peu de choses près au produit final.

Encore merci.

Sam.

Bonjour,

Étant plutôt débutant, je me permets de vous dire ici ce que je ferais en attendant une solution plus élaborée et très certainement meilleure de Jean-Éric.

Code à mettre dans la feuil1, à la suite de l'autre :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("$C$6:$C500")) Is Nothing Then Cells(4, 8) = Application.VLookup(Cells(Target.Row, 2), Feuil2.Range("B3:C500"), 2, False)
End Sub

Et je ne m'embêterais pas avec les boutons qui vont juste être pénibles (et inutiles ?) à force.

Bien sûr, j'ai mis C500 au pif et cela mériterait d'être automatisé.

Bonjour à tous

Une solution par double clic dans la colonne Bouton Info renommée Détailler

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("$C$6:$C500")) Is Nothing Then Cells(4, 8) = Application.VLookup(Cells(Target.Row, 2), Feuil2.Range("B3:C500"), 2, False)
End Sub

Bien sûr, j'ai mis C500 au pif et cela mériterait d'être automatisé.

Et le tableau structuré déjà existant ??? Mais on affiche ailleurs...

Sinon d'accord avec les boutons comme tu vois

Merci à vous deux JoyeuxNoel et 78Chris !

C'est hyper sympa comme ça et c'est clairement le genre d'outil que je voulais créer.

Je vais prendre le temps de regarder en détail le code et tenter de comprendre qui fait quoi là dedans ^^

En tout cas il y avait bien RECHERCHEV() dans la solution. C'est le mettre en relation avec un choix qui me posait problème !

Encore merci à tout ceux qui ont répondu (et rapidement en prime )

Vous êtes au top, j'espère pouvoir aider un jour également.

A bientôt !

Sam

Re,

Qu'entends-tu par "et on affiche ailleurs", Chris ?

Pour le tableau structuré, figure-toi que je n'avais pas fait gaffe de prime abord qu'il était vraiment structuré? J'ai fait ça un peu trop rapidement.

Pour info sur ton fichier, quand je fais un double clic dans la colonne C, ça remplace le nom du produit par le "ü"

Mais pas en colonne A. Je ne vois pas le code ce qui pourrait expliquer cela ?

RE

Le détail s'affichant dans une grande "cellule" et pas dans le tableau lui-même, la coche permet de s'assurer de ce à quoi correspond l'affichage dans cette grande cellule, que j'ai pour ma part nommée

Je me suis emmêlé dans l'explication mais je vois aussi, grâce à toi, que dans le code également car le double clic doit être limité à la colonne Détailler et la coche ne doit pas se mettre dans tous les cas

La chaleur me ramollit les neurones

Correction ci-joint

C'est une bonne idée l'ajout de la coche. Effectivement ça permet d'y voir plus clair !

Je vois que tu passes plutôt par :

Range("Detail").FormulaLocal = "=RECHERCHEV(" & Target.Offset(0, -2).Address & ";Définitions;2;0)"

J'ai parti sur application.vlookup.

Une différence particulière entre les deux ? En terme de temps d'exécution ? En termes de possibilités ?

RE

Non c'est la même chose , l'une en US l'autre Frenchy

J'ai fait au plus rapide avec la syntaxe française mais ta version est plus dans la norme si le classeur fait le tour du monde, lol

Par contre j'ai mis la formule dans le cellule et toi le résultat donc US obligé

Hey,

Merci Chris pour la correction. J'avoue que je n'avais pas essayé de cliquer autre part que dans la colonne prévue à cet effet.

À bientôt !

Toi, non, mais tes clients l'auraient forcément fait à un moment donné, sciemment ou non.

Merci Chris pour le complément d'informations !

Rechercher des sujets similaires à "creation texte dynamique"