Masquer feuilles

Résolu/Fermé
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 - 5 mars 2017 à 06:16
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 - 12 mars 2017 à 22:34
Bonjour,
je voudrais masquer 31 feuilles de mon classeur selon la valeur de la cellule "A4"
les feuilles sont nommés en jour +date ex:lun1,mardi2 etc
et je voudrais cacher les feuilles dont le nom commence par "s" ou "d" pour samedi et dimanche
et afficher les autres
j ai fait ceci pour cacher les feuilles
Sub miseenpage()
Application.ScreenUpdating = False

Rows("7:13").RowHeight = 62
Columns("C:AP").ColumnWidth = 6.6
Columns("S:Z").ColumnWidth = 0.5
ActiveWindow.DisplayGridlines = False
Range("A4").FormulaR1C1 = "=LEFT(TEXT(R[-2]C,""jjj""),1)"
Range("A4").Select
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
ActiveSheet.Name = ActiveSheet.Range("A2").Text

If [A4] = "s" Then
ActiveSheet.Visible = False
ElseIf [A4] = "" Then
Sheets.Visible = True
End If
If [A4] = "d" Then
ActiveSheet.Visible = False
ElseIf [A4] = "" Then
Sheets.Visible = True
End If
Application.ScreenUpdating = True
End Sub
deja je pense que les 2 dernieres If[A4] on pourrait faire plus court mai j y arrive pas
Puis si je change de mois il me faut reafficher toutes les feuilles changer de date et refaire ma macro pour cacher les samedis et dimanches
comment peut on s'y prendre
je vous joins le fichier
https://www.cjoint.com/c/GCffow62AqF
merci de votre aide


5 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
5 mars 2017 à 09:59
Bonjour,

deja je pense que les 2 dernieres If[A4] on pourrait faire plus court
Effectivement, l'on peux faire plus simple :
    If Weekday([A2], 2) > 5 Then
        ActiveSheet.Visible = False
    Else
        ActiveSheet.Visible = True
    End If

et cela t'évites ta formule A4 inutile
Je pense que tu t'ais compliqué la vie : pourquoi mettre du code dans chaque feuille alors qu'une gestion de tes Worksheet_SelectionChange et Activate peut très bien être faite dans thisworkbook

Puis si je change de mois il me faut reafficher toutes les feuilles
avec une simple macro cela devrait le faire :
Public Sub change_mois()
Dim feu As Integer, moi As String
moi = Application.InputBox("nouveau mois", "Changement mois", "/mm/aa")
For feu = 1 To Sheets.Count
    With Sheets(feu).[A2]
        .Value = CDate(DateValue(feu & moi))
        If Weekday(.[A2], 2) > 5 Then
            Sheets(feu).Visible = False
        Else
            Sheets(feu).Visible = True
        End If
Next feu
End Sub
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4
5 mars 2017 à 19:42
bonjour
je dois mettre quoi dans Private Sub Workbook_Activate()
et quoi dans Private Sub Workbook_SelectionChange()?
car la j essai mais mes feuilles ne se reaffichent pas je dois toujours faire manuellement
merci
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4
5 mars 2017 à 14:52
bonjour
pourrais tu modifier le fichier que je vois l exemple que tu proposes stp
car comme tu vois je ne suis pas le plus calé lol
merci
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
5 mars 2017 à 21:34
Bonsoir,

J'essaies de te faire cela pour demain.
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4 > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
5 mars 2017 à 21:35
merci bonne soiree
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
6 mars 2017 à 10:39
Bonjour,

Voici ton classeur avec la gestion du masquage des week-ends. Elle se fait au changement de mois qui est déclenchée par la modification du mois en A1 sur la première feuille du mois. Petit bémol, si le premier jour du mois est ' week-end', il faut la démasquer au préalable.


https://www.cjoint.com/c/GCgjG1cfQOl

Bon test et bonne journée
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4 > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
6 mars 2017 à 19:46
bonsoir
cool c est exactement ce que je voulais puisque même les mois en 30j la 31 eme feuille se cache
je vais voir exactement ce que tu as fait car c est pas exactement les 2 macros que tu m as proposées en debut du post
merci encore
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
Modifié par gbinforme le 6/03/2017 à 21:24
Bonsoir,
Les macros proposées y sont mais j'ai rajouté la boucle sur toutes les feuilles.
J'ai par contre utilisé ta liste déroulante plutôt que l'inputbox.

Si tu veux faire un raz de tes données feuilles précédentes, c'est simple à rajouter.

https://www.cjoint.com/c/GCguwgsWTjl
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4
9 mars 2017 à 19:11
bonjour
array pour sélectionner les feuilles de 1 à 31 puis effacer et formater les cellules précédemment nommes

--
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
10 mars 2017 à 10:32
Bonjour,

As-tu tout simplement testé que ton code du message 21 ne fonctionne pas ?
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4 > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
10 mars 2017 à 12:02
Bonjour

ça bloque car les feuilles sont cachés il me faudrait les faire apparaitre puis exécuter la macro je pense
Puis exécuter le formatage des cellules
mais je n arrive pas a combiner le tout lol
si je dois mettre select ou pas
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
10 mars 2017 à 18:06
Bonjour,

Si tu connais le problème, pas de souci tu vas le résoudre.
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4
10 mars 2017 à 18:10
bonjour
oui j ai l habitude de me prendre la tête pendant des heures
ma question était si on pouvait faire plus court pour sélectionner ces feuilles si non je pars la dessus
merci

--
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
11 mars 2017 à 08:22
Bonjour,

oui j ai l habitude de me prendre la tête pendant des heures
J'ai bien compris que ce que tu m'avais demandé d'encoder dans ton classeur était beaucoup trop simple pour toi qui n'est pas un adepte de St-Ex : bon courage donc pour complexifier tout cela puisque c'est ton classeur, et non le mien.
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4
12 mars 2017 à 05:11
Bonjour
ça y est j ai réussi a faire ce que je voulais de ce coté la tout est ok merci a toi
Je voudrais ameillorer si c'est possible de mettre une barre verticale qui defilerait avec le temps a 8h en debut de page et a 18h en fin de page? je n ai pas trouvé de renseignements sur ça
Et comment faire pour copier le texte d'une cellule dans un textbox et rajouter l'heure en debut quand on recolle donc
range.select=Now()+"texte copié"
ou est ce possible sans le copier dans le textbox
merci
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
12 mars 2017 à 09:22
Bonjour,

mettre une barre verticale qui defilerait avec le temps
C'est possible et cela devrait te plaire car c'est un belle usine à gaz.

est ce possible sans le copier dans le textbox
[A1] = Time & [A1]
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4 > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
Modifié par surplus le 12/03/2017 à 21:34
bonsoir
pour le copier collé time c'est bon
Par contre je n ai pas trouvé de sites hors payants qui donnent des exemples d'une barre verticale
ça pourrait se trouver ou ?
merci
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4 > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
12 mars 2017 à 22:34
bonsoir
c'est pas ce que je recherche
ce que je parle c'est une barre qui défilerait automatiquement avec le temps pas par rapport au pourcentage ou données des cellules
0