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
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
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
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 ?
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
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 !
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.
En effet, chaque changement de cellule provoque l'affichage de l'autre feuille.
J'ai modifié comme ci-dessus et tout fonctionne maintenant
Encore merci à vous 3 de vos conseils et bon dimanche