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

XL 2013 Résolu pas DbleZero : afficher ou masquer une image qd cellule change au recalcul

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

J'ai un code que je n'arrive pas à trouver et pourtant , les exemples ne manques pas.
Mais je ne sais pas pourquoi, je n'y arrive pas.

Je souhaite qu'une image soit affichée ou masquée en fonction du changement du résultat d'une cellule qui contient une formule.

Voici le code sur lequel je travaille :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("b1")) Is Nothing Then
If [b1] <> 0 Then
ActiveSheet.Shapes("Image 1").Visible = False
Else
ActiveSheet.Shapes("Image 1").Visible = True
End If
End If
End Sub

Je joins un fichier test.
Un grand merci à toutes et à tous.
Bonne fin de dimanche,
Amicalement,
Lionel,
 

Pièces jointes

  • Classeur1.xlsm
    25.9 KB · Affichages: 37

eriiic

XLDnaute Barbatruc
Bonjour,

Worksheet_Change se déclenche sur une saisie, pas une formule qui évolue.
Ce sont donc les antécédents de B1 qui sont saisis qu'il faut superviser. En l'occurence D8 pour toi, où tu iras contrôler B1.
eric
 

Si...

XLDnaute Barbatruc
Bonsoir

Serait-ce une formule alambiquée ?

Il vaut mieux s’attaquer à la racine du mal provoqué par la formule (quelle qu’elle soit, même avec =SI(D8="SI...";"oups";""), ou, =D8+ "si" qui provoque une erreur).

VB:
Private Sub Worksheet_Change(ByVal Oust As Range)
    ActiveSheet.Shapes("Image 1").Visible = [D8] <> ""
End Sub

Si elle du genre simplissime, comme celle donnée, la proposition de ÔÔ est plus directe .
 

Discussions similaires

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