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.
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
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.
L'essentiel est que Marie bdtsoit 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à.
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.
Bonjour DD, le fil,
Présentez vos deux solutions à Marie, elle n'aura plus que l'embarras du choix.
Car VBA ou pas, c'est toujours intéressant de voir plusieurs méthodes.
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.
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.
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