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

XL 2013 cacher une feuille de calcul en fonction du contenu d'une cellule

mrdo

XLDnaute Nouveau
Bonjour,

J'aimerai cacher des feuilles en fonction de:

si valeur cellule S3(feuille1) est <à valeur cellule P2 de l'avant avant dernière feuille = cacher l'avant avant dernière feuille
si valeur cellule S3(feuille1) est <à valeur cellule P2 de l'avant dernière feuille = cacher l'avant dernière feuille
si valeur cellule S3(feuille1) est <à valeur cellule P2 de la dernière feuille = cacher la dernière feuille

en une seule formule à mettre dans la page de code de feuille1 ?

ou l'inverse

si valeur P2 de l'avant avant dernière feuille >à S3 feuille1 = cacher l'avant avant dernière feuille
si valeur P2 de l'avant dernière feuille >à S3 feuille1 = cacher l'avant dernière feuille
si valeur P2 de la dernière feuille >à S3 feuille1 = cacher de la dernière feuille

à mettre dans la page de code de chaque feuille concernée

ceci pour cacher les onglets en fonction du nombre de jours dans le mois
31 onglets pour 31 jours, et donc cacher les 3 derniers onglets pour le mois de 28 jrs, les 2 derniers pour 29 jrs, le dernier pour 30 jrs et aucun pour 31 jrs
le nom de chaque onglet change chaque mois (lundi 1, mardi 2, mercredi 3..., c'est pourquoi je ne peux pas nommer la feuille dans la formule.

est-ce possible?
 
Solution
Re,
Pas bien sur d'avoir tout compris.
Je ne comprends pas le "S3(feuille1)", je pense plutôt à G2.
Un essai en PJ.
Quand on modifie G2 de PAGE alors toutes les feuilles dont P2 est supérieur sont masquées.
Par ex si en G2 je met 28 alors les feuilles qui contiennent 29 à 31 sont masquées.
Avec dans PAGE :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [G2]) Is Nothing Then
        Application.ScreenUpdating = False
        For Each F In Worksheets
            If F.Name <> "PAGE" And F.Name <> "PLANNING PROD" Then
                If Sheets(F.Name).[P2] > Target Then
                    Sheets(F.Name).Visible = False
                Else...

mrdo

XLDnaute Nouveau
bonsoir

j'ai un fichier complet et nettoyé, je cherche comment l'envoyer

la modif ne fonctionne pas, exemple samedi 8 il n'affiche rien après, si on efface tous les samedi il affiche un samedi 29
 

mrdo

XLDnaute Nouveau
Bonjour Sylvanu,
merci pour tout, je vais resté avec la soluce du dimanche qui est déjà très bien.
je laisse tombé pour l'instant le samedi à partir des samedi travaillés.

merci encore, bon boulot
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…