Afficher les onglets sous conditions

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

Ilino

XLDnaute Barbatruc
forum Bonjour
Je suis dans la feuille 1( la seulle qui affichée et les autres feuilles sont cachées) je souhaiterai afficher la 2eme feuille si LES CELLULES C7 ,C21 et C25 sont non vide
Et idem pour le feuilles 3 si les cellules C5 D3 et F12 de la feuille 2 sont non vide

GRAZIE et 😱meilleurs vœux
😱
 
Re : Afficher les onglets sous conditions

Bonjour

peut-être comme cela:

Code à mettre derrière la feuil 1

Private Sub Worksheet_Change(ByVal Target As Range)

If ActiveSheet.Range("C7") <> "" _
And ActiveSheet.Range("C21") <> "" _
And ActiveSheet.Range("C25") <> "" Then
Sheets("Feuil2").Visible = True
Else
Sheets("Feuil2").Visible = False
End If

If ActiveSheet.Range("C5") <> "" _
And ActiveSheet.Range("D3") <> "" _
And ActiveSheet.Range("F12") <> "" Then
Sheets("Feuil3").Visible = True
Else
Sheets("Feuil3").Visible = False
End If
End Sub



Bonne journée
 
Re : Afficher les onglets sous conditions

Bjr Ilino

J'imagine donc que c'est un enchaînement de tâche, on remplit d'abord la feuille1 et ensuite les autres, car si les cellules C7, C21 et C25 de la feuille1 ne sont pas remplies, la feuille2 n'étant pas visible, on ne peut pas écrire dans les cellules demandées....

En essai en pièce jointe.

Cordialement, Gérard
 

Pièces jointes

Re : Afficher les onglets sous conditions

Bonjour Isab, Gérard, kingfaghel
merci pour les reponses ainsi les remarques.🙂
@ Kingfadhel: puis je avoir qlq details de ton code si je rajoute d'autre onglets
GRAZIE

EDIT: Je n'arrive pas a reperer les cellules de chaque feuilles dans ton code 😕😱😕
 
Dernière édition:
Re : Afficher les onglets sous conditions

Re_bonjour

Pour comprendre le code de kingfaghel
la formule suivante se trouve en cellule XFD1 :
=NBVAL(C7;C21;C25)

---

il faut faire de même pour la feuil3.. en XFD2 par exemple et en inscrivant les references désirées..
---

attention tout de même aux cellules isolées en bout de fichier.. surtout si le fichier est amené à être volumineux !!! à mon avis c'est à éviter..

bonne journée
 
Re : Afficher les onglets sous conditions

Bonjour, le Fil 🙂, le Forum,

Une autre suggestion (macro placée dans le module "Feuil1") :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Application.CountA([c5], [d3], [f12]) = 3 Then Sheets("Feuil3").Visible = True _
    Else Sheets("Feuil3").Visible = xlVeryHidden
    If Application.CountA([c7], [c21], [c25]) = 3 Then Sheets("Feuil2").Visible = True _
    Else Sheets("Feuil2").Visible = xlVeryHidden
End Sub

Bon réveillon et à bientôt 🙂🙂
 
Re : Afficher les onglets sous conditions

Re, bjr à tous

DoubleZéro : les cellules C5, D3 et F12 proviennent de la feuille 2
Ne faudrait-il pas adapter ton code pour qu'il soit dans ThisWorkBook, surtout s'il s'agit d'ajouter d'autres feuilles ?

Cordialement, Gérard
 
Re : Afficher les onglets sous conditions

Bonjour à tous

j'étais parti sur la même piste que 00 🙂
'ici code présent dans la feuille 1
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Sheets(1)
Sheets(2).Visible = Application.CountA(.[c7], .[c21], .[c25]) = 3
End With
End Sub

A répéter (et adapter) pour la feuille 2 et la feuille 3.
 
Dernière édition:
Re : Afficher les onglets sous conditions

Re,
Ilino à remplacer dans le code:

feuille 2
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
nb = Application.CountA(Range("C5"), Range("D3"), Range("F12")) ' determine le nombre de cellules non vides
Select Case nb
Case Is = "3"
Sheets(3).Visible = True
Case Is < "3"
Sheets(3).Visible = xlSheetVeryHidden
End Select
End Sub

feuille 1
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 nb = Application.CountA(Range("C7"), Range("C21"), Range("C25"))
Select Case nb
Case Is = "3"
Sheets(2).Visible = True
Case Is < "3"
Sheets(2).Visible = xlSheetVeryHidden
End Select
End Sub
 
Re : Afficher les onglets sous conditions

Re-bonjour,

... les cellules C5, D3 et F12 proviennent de la feuille 2
Ne faudrait-il pas adapter ton code pour qu'il soit dans ThisWorkBook, surtout s'il s'agit d'ajouter d'autres feuilles ?...

Je ne sais 🙁 proposer d'autre code que celui-ci, placé dans "ThisWorkbook" :

Code:
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Application.ScreenUpdating = False
    If ActiveSheet.Name = ("Feuil1") Then
        If Application.CountA([c7], [c21], [c25]) = 3 Then Sheets("Feuil2").Visible = True Else: Sheets("Feuil2").Visible = xlVeryHidden
    End If
    If ActiveSheet.Name = ("Feuil2") Then
        If Application.CountA([c5], [d3], [f12]) = 3 Then Sheets("Feuil3").Visible = True Else: Sheets("Feuil3").Visible = xlVeryHidden
    End If
    Application.ScreenUpdating = True
End Sub

A bientôt 🙂
 
- 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
1
Affichages
346
wDog66
W
Réponses
3
Affichages
655
Réponses
7
Affichages
987
Réponses
6
Affichages
847
Retour