Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Afficher image dans Excel

Marie bdt

XLDnaute Nouveau
Bonjour Jae souhaiterais faire apparaître une image en fonction du résultat d'une cellule. Ce n'est pas une liste déroulante.
Par exemple
J'ai un registre de remplissage de matière dans un contenant.
Dans un autre onglet on représente une fiche qui synthétise l'ensemble de chaque ligne du registre si on sélectionne le numéro du conteneur dans une liste déroulante.
Mon souhait c'est que sur cette fiche je puisse faire apparaître des image associé au résultat d'une cellule qui a une formule en recherchev.
Merci pour votre aide.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Marie,
Un petit essai en PJ, avec deux macros :
Cette première est événementielle et détecte un changement de valeur dans une cellule.
VB:
Public msValeurSave
Sub Worksheet_Calculate()
    If Range("B12").Value <> msValeurSave Then
        Invisible
        ActiveSheet.Shapes(Range("B12").Value).Visible = True
        msValeurSave = Range("B12").Value
    End If
End Sub
Cette deuxième rend invisibles toutes les images trouvées.
Code:
Sub Invisible()
s = ActiveSheet.Shapes.Count
For i = 1 To s
    ActiveSheet.Shapes(i).Visible = False
Next i
End Sub
 

Pièces jointes

  • Marie.xlsm
    47.7 KB · Affichages: 18

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Dans l'ex donné, si.
Tous les shapes si vous préférez. Mais je n'ai jamais eu l'outrecuidance de donner un ex universel, surtout sans contexte ni fichier ex.
Marie cherche un principe. Il est là. Reste à l'exploiter avec son propre contexte.
 

jmfmarques

XLDnaute Accro
L'essentiel est que Marie bdt soit parfaitement consciente de ce qu'un tel code agirait sur tous les objets shapes (y compris donc les contrôles formulaires et les activex), tant présents qu'éventuellement ajoutés ensuite à sa feuille
Il est à mon sens important de le lui signaler d'ores et déjà.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Il eût suffi que vous précisiez à Marie de changer la ligne par :
VB:
if ActiveSheet.Shapes(i).Type=13 then ActiveSheet.Shapes(i).Visible = False
Ceci étant dit, c'est totalement inutile car dépendra essentiellement de son fichier. Si d'autres images ne sont pas concernées, la solution sera de toute façon autre comme précisé dans le fichier.
Mais je pense qu'à ce moment Marie reviendra vers nous pour trouver une solution.
 

D.D.

XLDnaute Impliqué
Bonjour,

Un classeur avec les 2 techniques sans VBA
L'une est basé sur le gestionnaire de nom et l'appareil photo. Elle admet plusieurs images selon le choix
L'autre est basé sur un graphique associé à une texture en image.
 

Pièces jointes

  • Valeur-Image Sandrine.xlsx
    145.8 KB · Affichages: 28

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Je ne connaissais pas la seconde technique.
A approfondir. Que se passe t-il si les images n'ont pas la même taille ? Je vais regarder pour voir s'il les conserve tel quel ou si il modifie les proportions de l'image.
En tout cas merci.
 

Marie bdt

XLDnaute Nouveau
Bonjour,

Un classeur avec les 2 techniques sans VBA
L'une est basé sur le gestionnaire de nom et l'appareil photo. Elle admet plusieurs images selon le choix
L'autre est basé sur un graphique associé à une texture en image.


Merci je connaissais la première technique que j'ai d'ailleurs essayé. Le problème est que je veux pas sélectionner le nom dans un menu déroulant. Je veux que l'image s'affiche en fonction d'une cellule contenant une fonction recherchev.
Je vais essayer la deuxième pour voir ce que ça donne.
Merci en tout cas
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…