Macro Afficher image dans une feuille excel

Toug

XLDnaute Junior
Bonjour,
J'essaie sans succés de trouver un moyen d'afficher une image en fonction de paramêtres. En gros si la cellule A9 vaut "En Cours", je voudrais afficher une image dans la feuille excel. Je pense qu'il faut une macro mais j'en suis pas sur.
Je débute en vba, alors il faut tout m'expliquer, :p

Merci d'avance.
 

JCGL

XLDnaute Barbatruc
Re : Macro Afficher image dans une feuille excel

Bonjour à tous,

Il faut entourer tes A28 de ".
Tu dois avoir Range("A28")

A+ à tous

Edition : Ajout du fichier avec mise en place de l'action corrective
 

Pièces jointes

  • JC forum.xls
    46.5 KB · Affichages: 61
  • JC forum.xls
    46.5 KB · Affichages: 54
  • JC forum.xls
    46.5 KB · Affichages: 49
Dernière édition:

TempusFugit

XLDnaute Impliqué
Re : Macro Afficher image dans une feuille excel

Bonjour


On peut aussi utiliser un Switch à la place de deux If.
Ce qui ne change rien au résultat final.

Code:
Sub test()
ActiveSheet.Shapes("Picture 2").Visible = Switch(Range("A28") = "Clos", True, Range("A28") = "En cours", False)
End Sub
 

TempusFugit

XLDnaute Impliqué
Re : Macro Afficher image dans une feuille excel

@JCGL
Le Switch est ici plus indiqué qu'IIF non ?
sauf à l'utiliser ainsi (mais dans ce cas il manque l'aspect "En cours")
ActiveSheet.Shapes("Picture 2").Visible = IIF(Range("A28") = "Clos", True, False)

C'est pour cela que j'ai employé le Switch.
 

JCGL

XLDnaute Barbatruc
Re : Macro Afficher image dans une feuille excel

Bonjour à tous,

Comme il n'y a que deux choix posibbles le IFF peut convenir, je pense :
Code:
Sub Test()
For x = 1 To 4
ActiveSheet.Shapes("Picture " & x).Visible = IIf(Range("D" & x + 10) = "Clos", False, True)
Next x
End Sub

A+ à tous
 

Pièces jointes

  • JC Formes sur Texte avec IFF.xls
    35 KB · Affichages: 49

TempusFugit

XLDnaute Impliqué
Re : Macro Afficher image dans une feuille excel

Mais si on saisit ClosClos à la place de Clos ou Encourandair à la place de En cours ?

Je privilégie Switch si A28 doit avoir seulement deux valeurs possibles : Clos ou En cours.

Si on suit ta logique, on peut même éviter le IIF dans ce cas ;)

Code:
Sub Test()
For x = 1 To 4
ActiveSheet.Shapes("Picture " & x).Visible = (Range("D" & x + 10) = "Clos")
Next x
End Sub
 

JCGL

XLDnaute Barbatruc
Re : Macro Afficher image dans une feuille excel

Bonjour à tous,

Je préconise toujours les listes de validations ou la validation de données dans ce cas là.

Bravo pour le code encore raccourci... Cela me rappelle les "joutes amicales" avec Roger, Job et beaucoup d'autres.

Au plaisr de te croiser
A++

A+ à tous
 

Discussions similaires

Réponses
15
Affichages
704

Statistiques des forums

Discussions
312 836
Messages
2 092 656
Membres
105 479
dernier inscrit
chaussadas.renaud