XL 2019 Onglet visible avec condition

  • Initiateur de la discussion Initiateur de la discussion Mapat
  • 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 !

Mapat

XLDnaute Occasionnel
Bonjour

Est-il possible à partir de la valeur d'une cellule (sup à zéro), de faire apparaitre un shape qui me permettrait d'afficher un autre onglet ?
Tant que la cellule est vide, le shape est invisible. La cellule est à zéro ou plus le shape apparait
Merci de votre aide et bon après-midi
 

Pièces jointes

Bonjour Mapat,

Si modification de la cellule ou d'une cellule de la feuille,
mettre ce code dans "Feuil1"
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
  If [E2] > 0 Then
    Shapes("Rectangle 1").Visible = msoTrue
  Else
    Shapes("Rectangle 1").Visible = msoFalse
  End If
End Sub

A+
 
Bonjour à tous,
faire apparaitre un shape qui me permettrait d'afficher un autre onglet
Pourquoi ne pas faire apparaitre directement une feuille ?
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If [E2] > 0 Then
        Sheets("TEST").Visible = -1: Sheets("TEST").Select
    Else
        Sheets("TEST").Visible = 0: Sheets("Feuil1").Select
    End If
End Sub
 

Pièces jointes

Re
J'ai un petit souci en transcrivant sur mon fichier
J'ai supprimé le Else ce qui donne
Private Sub Worksheet_Change(ByVal Target As Range)
If [E2] > 0 Then
Sheets("TEST").Visible = -1: Sheets("TEST").Select
End If
End Sub
car ça ne fonctionnait pas
Ca marche nickel de cette façon mais j'ai mal présenté ma question.
La cellule e2 est vide mais pour déclencher la macro elle peut aussi être à 0
J'ai essayé If [E2] >= 0 Then
mais ça ne marche pas
Peut_être une idée ?
 
Bonjour à tous,

Pourquoi ne pas faire apparaitre directement une feuille ?
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If [E2] > 0 Then
        Sheets("TEST").Visible = -1: Sheets("TEST").Select
    Else
        Sheets("TEST").Visible = 0: Sheets("Feuil1").Select
    End If
End Sub
Salut @sylvanu, attention chaque changement sur la feuille Test provoquera l'affichage de Feuil1 si E2 > 0 ...
 
Bonsoir Fanch,

Non car la macro Worksheet_Change n'est effective que sur la feuil1.
Une modification de TST E2 ne la déclenchera pas.
C'est exact, mais j'ai inversé le nom des feuilles lors de ma réponse, le pb reste le même ...
sylvanu.gif
 
Re

Oui, ça marche
Le fait de ne pas remasquer la feuille ne gêne pas pas car c'est la fin de la procédure de mon fichier
Merci beaucoup de votre aide
Vous, tous les contributeurs, vous êtes vraiment des passionnés !
 
C'est exact, mais j'ai inversé le nom des feuilles lors de ma réponse, le pb reste le même ...
OK. Mais quand on modifie une autre cellule, comme E2 contient une valeur >0 il va sur la feuille test.
Ce qui me semble normal. C'est tout du moins comme ça que je l'avais interprété. 🙂
A Mapat de préciser si cela lui convient ou non, sinon il faut passer par un :
VB:
 If Not Intersect(Target, [E2]) Is Nothing Then
s'il veut que la cellule E2 ne soit testé que quand on modifie E2, et rien d'autre.
 
- 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
3
Affichages
404
Retour