Affichage onglet sous condition

jcn

XLDnaute Nouveau
Bonjour à tous,

J'ai besoin d'un petit coup de main, je n'arrive pas à créer une macro (n'y connaissant rien en VBA) qui permettrait d'afficher ou de masquer un onglet en fonction de la valeur d'une cellule d'une autre feuille.

J'ai essayé le code suivant, issu d'un code permettant d'afficher ou de masquer des lignes, mais la transposition n'a pas marché :(

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D3") = 2 Then
Sheet("Feuil5").Hidden = False
Else
Sheet("Feuil5").Hidden = True
End If
End Sub

Dans le classeur joint, le but est d'afficher l'onglet Feuil5 si dans l'onglet Feuil4 la cellule D3 est égale à 2 (attention la cellule D3 est une formule et pas une donnée saisie, je précise parce que j'ai rencontré le soucis pour masquer des lignes Cf. macro des feuille 1 et 2).

Merci d'avance de votre aide
 

Pièces jointes

  • Test ligne et onglet masquée si condition.xlsm
    23.7 KB · Affichages: 83

Robert

XLDnaute Barbatruc
Repose en paix
Re : Affichage onglet sous condition

Bonjour Jcn, bonjour le forum,

Tu n'étais pas très loin de la solution...

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D3") = 2 Then
    Sheets("Feuil5").Visible = True
Else
    Sheets("Feuil5").Visible = False
End If
End Sub
 

thebenoit59

XLDnaute Accro
Re : Affichage onglet sous condition

Bonjour jcn.

Dans le code de ta Feuil4 essaye avec ce code :

Code:
Private Sub Worksheet_Calculate()
If [D3] = 2 Then
    Feuil5.Visible = True
    Else: Feuil5.Visible = False
End If
End Sub

Edit: Bonjour Robert.
 

jcn

XLDnaute Nouveau
Re : Affichage onglet sous condition

Merci à vous deux

Pour info j'ai opté pour la solution de thebenoit59 :)
En effet, celle de Robert nécessite que l'on revienne sur l'onglet ou il y a la condition pour que l'onglet s'affiche ou s'efface alors que dans celle de thebenoit59 l'affichage/masquage se fait automatiquement dès que la condition se remplie ou non.
 

DoubleZero

XLDnaute Barbatruc
Re : Affichage onglet sous condition

Bonjour, jcn, Robert :D, thebenoit59, le Forum,

Une autre suggestion :

Code:
Option Explicit
Private Sub Worksheet_Calculate()
    With Sheets("Feuil5"): .Visible = [d3] = 2: .Activate: End With
End Sub

A bientôt :)
 

Discussions similaires

Réponses
7
Affichages
405

Statistiques des forums

Discussions
312 490
Messages
2 088 879
Membres
103 981
dernier inscrit
vinsalcatraz