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

XL 2013 Planning de Vacances

klemasson

XLDnaute Nouveau
Bonjour,

J'ai créer un fichier planning de vacances mensualisé et annualisé pour l'entreprise ou je bosse
Mon boss aimerais aussi des boutons dans l'onglet Annuel, pour afficher mois par mois.
J'ai réussi à créer les boutons pour afficher toute l'année et masque toute l'année
Mais je n'arrive pas à créer par exemple le bouton janvier et qu'on voit que janvier.

Pouvez-vous m'aider ?

Merci d'avance et meilleures salutations
 

Pièces jointes

  • TABLEAU VACANCES1.xlsm
    173.5 KB · Affichages: 16

vgendron

XLDnaute Barbatruc
Hello
une solution en PJ
1) j'ai supprimé tous les boutons de mois et remplacé par une liste déroulante en F1 dans laquelle tu choisis le mois
à chaque changement (évènement change de la feuille), la macro AfficherMois est executée
 

Pièces jointes

  • TABLEAU VACANCES1.xlsm
    206.4 KB · Affichages: 10

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Klemasson, Vgendron,
Une autre approche en conservant les boutons avec :
VB:
Sub MontrerMois()
    ' Les boutons s'appellent Boutonxx avec xx le N° du mois concerné
    Dim N%, ColMois, Début%, Fin%
    Application.ScreenUpdating = False
    N = Val(Right(Application.Caller, 2))
    ColMois = Array(0, 10, 41, 69, 100, 130, 162, 191, 222, 253, 283, 314, 344, 375)
    Range(Cells(1, 10), Cells(1, 400)).EntireColumn.Hidden = False ' Démasque tout
    If N = 1 Then
        Range(Cells(1, 41), Cells(1, 400)).EntireColumn.Hidden = True
    Else
        Début = ColMois(N) - 1
        Fin = ColMois(N + 1)
        Range(Cells(1, 10), Cells(1, Début)).EntireColumn.Hidden = True
        Range(Cells(1, Fin), Cells(1, 400)).EntireColumn.Hidden = True
    End If
End Sub
 

Pièces jointes

  • TABLEAU VACANCES1.xlsm
    177 KB · Affichages: 7

vgendron

XLDnaute Barbatruc
Hello @sylvanu
bien vu pour le numéro du mois avec l'application caller
moi, j'essayais de trouver le texte du bouton... je galère à chaque fois..

par contre dans ta solution à base de "ColMois".. je pressens déjà un souci pour les années bissextiles....
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
je pressens déjà un souci pour les années bissextiles....
Bien vu, ça m'a échappé.
Alors petite opération collégiale :
VB:
Sub MontrerMois()
    ' Les boutons s'appellent Boutonxx avec xx le N° du mois concerné
    Dim N%, ColMois, Début%, Fin%
    Application.ScreenUpdating = False
    With Sheets("Annuel")
        Mois = Val(Right(Application.Caller, 2))
        nbJours = DateSerial(2023, 12, 31) - DateSerial(2023, 1, 1)
        For j = 10 To 10 + nbJours
            .Cells(1, j).EntireColumn.Hidden = (Month(.Cells(4, j)) <> Mois)
        Next j
    End With
End Sub
 

Pièces jointes

  • TABLEAU VACANCES V2.xlsm
    176.9 KB · Affichages: 8

Discussions similaires

Réponses
0
Affichages
239
Réponses
9
Affichages
378
Réponses
24
Affichages
457
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…