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

Apparition d'un objet

  • Initiateur de la discussion Initiateur de la discussion Math974
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Math974

XLDnaute Nouveau
Bonjour à tous,
Je cherche à faire apparaître ou non une flèche selon la valeur d'une cellule.
J'ai donc tapé le code suivant sous VBA :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$44" Then
Select Case Target.Value
Case Is < 1: Shapes("Trait 26").Visible = False
Case Else: Shapes("Trait 26").Visible = True
End Select
End Sub

Où $D$44 est ma cellule cible et "Trait 26" est ma flèche. Ca fonctionne à première vue sauf que je suis obligé de modifier manuellement la cellule pour qu'elle apparaisse (pour simplifier si je tapes 0 elle n'apparait pas si je tapes 1 elle apparait).
Or la valeur de ma cellule est relié à une formule qui se trouve dans une autre feuille.
J'aimerais donc que la flèche apparaisse ou pas automatiquement en fonction du résultat du calcul de l'autre feuille.
Est-ce que quelqu'un a une petite idée ?
merci d'avance
 
Re : Apparition d'un objet

Bonjour à tous,
Ci joint le classeur simplifié. L'idée c'est de faire apparaître les flèches de la Feuille 1 en fonction du remplissage du tableau de la Feuille 2...
Une fois de plus lorsque j'inscris des quantités dans le tableau de la Feuille 2 les flèches n'apparaissent pas mais si je change les valeurs directement sur la Feuille 1 les flèches apparaissent 😕
J'ai bien fait une petite macro qui remplit les cases au fur et à mesure (=SOMME(....) puis = SOMME(...) etc etc) mais il doit bien y avoir un moyen direct...
Merci à vous !

Math
 

Pièces jointes

Re : Apparition d'un objet

Bonjour,

comme carcharodon-carcharias le proposait, en utilisant l'évènement worksheet_calculate :
VB:
Private Sub Worksheet_Calculate()
Shapes("Trait 2").Visible = IIf([C22] < 1, False, True)
Shapes("Trait 3").Visible = IIf([C23] < 1, False, True)
Shapes("Trait 4").Visible = IIf([C24] < 1, False, True)
Shapes("Trait 5").Visible = IIf([C25] < 1, False, True)
End Sub

Ton fichier en retour
 

Pièces jointes

Re : Apparition d'un objet

Bonjour,

Dans le code de la feuille, remplacer la macro Worksheet_Change par :

Code:
Private Sub Worksheet_Calculate()
Shapes("Trait 2").Visible = [C22] > 0
Shapes("Trait 3").Visible = [C23] > 0
Shapes("Trait 4").Visible = [C24] > 0
Shapes("Trait 5").Visible = [C25] > 0
End Sub

Edit : salut et excuse-moi Softmama, j'ai été trop lent

A+
 
Dernière édition:
Re : Apparition d'un objet

Merci beaucoup SoftMama et job75 Ca marche enfin ! Et c'est quand même beaucoup plus rapide et beaucoup plus classe que ma macro qui recalcule tout en direct !!!
😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
404
Réponses
4
Affichages
439
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…