Inséré Image

enzo_s

XLDnaute Junior
Hello !

Peut on avoir dans Excel une image différente d'après deux liste déroulante ? Exemple :

FullMesh Rxx :Yes
FullMesh Vxx :Yes

Si FullMesh Rxx = yes et FullMesh Vxx = yes tu insère image 1
Si FullMesh Rxx = yes et FullMesh Vxx = NO tu insère image 2
Si FullMesh Rxx = no et FullMesh no = yes tu insère image 3

Les images seront stockées sur mon PC au début et ensuite sur un lien HTTPS

Merci de l'aide

Enzo
 

job75

XLDnaute Barbatruc
Fichier joint avec cette macro dans le code la feuille (clic droit sur l'onglet et Visualiser le code) :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Shapes("Image1").Visible = LCase([C17]) = "yes" And LCase([C18]) = "yes"
Shapes("Image2").Visible = LCase([C17]) = "yes" And LCase([C18]) = "no"
Shapes("Image3").Visible = LCase([C17]) = "no" And LCase([C18]) = "yes"
End Sub
 

Pièces jointes

  • Excel_Image(1).xlsm
    240.1 KB · Affichages: 18

enzo_s

XLDnaute Junior
Merci Job75, c'est exactement ça.
Mais pourrais tu svp me dire ou je peux renommé les images (pas dans la macro) ? J'ai ajouté la macro dans mon fichier avec les images mais il me manque un truc.
Enfaîte quand tu insères dans Excel les images, doivent-elles déjà porter le nom Image1 Image2 Image3.
Ou fait on le lien

A++
 

enzo_s

XLDnaute Junior
Dernière question, si je souhaite ajouter une condition : C15="Office"

J'ai essayé en ajoutant "And LCase([C15]) = "Office"" mais ca fonctionne pas

'Option Explicit

'Private Sub Worksheet_Change(ByVal Target As Range)
'Shapes("Image1").Visible = LCase([C17]) = "yes" And LCase([C18]) = "yes" And LCase([C15]) = "Office"
'End Sub
 

enzo_s

XLDnaute Junior
Bonjour,
Je reviens avec mes soucis ;-)

J'ai trouvé un moyen de contourner le problème ou je souhaitais ajouter une 3eme condition avec LCase qui n'est pas possible.
Du coup j'ai crée une cellule avec la fomule :

=IF(AND('Basic_info_P-Router'!$C$15="Office";'Basic_info_P-Router'!$C$17="Yes";'Basic_info_P-Router'!$C$18="Yes");"OfficeCompletFullMesh";IF(AND('Basic_info_P-Router'!$C$15="Office";'Basic_info_P-Router'!$C$17="Yes";'Basic_info_P-Router'!$C$18="No");"OfficeRxxFullMesh";IF(AND('Basic_info_P-Router'!$C$15="Office";'Basic_info_P-Router'!$C$17="No";'Basic_info_Pouter'!$C$18="Yes");"OfficeVxxFullMesh";"OfficeNotFullMesh")))

De cette façon j'obtiens une réponse que je récupère dans la macro mais ça ne fonctionne pas.

VB:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Shapes("OfficeCompletFullMesh").Visible = UCase([C19]) = "OfficeCompletFullMesh"
Shapes("[I]OfficeNotFullMesh[/I]").Visible = UCase([C19]) = "OfficeNotFullMesh"
End Sub

J'essaye déja avec deux images avec de mettre les autres. Dans l'exemple de Job75 cela fonctionne bien mais pas chez moi.

Merci de l'aide

A+
 

Discussions similaires

Réponses
13
Affichages
1 K

Statistiques des forums

Discussions
312 083
Messages
2 085 185
Membres
102 808
dernier inscrit
guo