Masquer colonne et aperçu Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
p
pompaero
Membre dévoué
Membre dévoué
Messages : 804
Appréciations reçues : 2
Inscrit le : 12 juin 2013
Version d'Excel : 2016

Message par pompaero » 24 juillet 2015, 00:47

Bonjour à tous

Je reviens encore vers vous pour de l'aide sur une macro. que j'ai mis dans feuil Impression mais Marche pas !!! :( .

J'ai une feuille Planning qui est complété (ici à la main pour l'exemple) pour un mois plus 1 semaine avant et après.
Une autre feuille Impression qui récupère les infos du mois complet (du 1 au 28 ou 29 ou 30 ou 31)
Quand je click sur le bouton APERCU j'aimerai sur la feuil "Impression" :
- masquer les colonnes 29 ou 30 ou 31 par rapport à la sélection du mois.
- ensuite une fois les colonnes masquer OUVRIR la feuille "Impression " en mode APERCU AVANT IMPRESSION.
Sachant par la suite que la feuil Impression sera masqué en permanence et si possible en quittant l'aperçu avant impression
que la feuil Impression puisse se remasquer automatiquement.
Celà est ma vision des choses sur le principe de fonctionnement mais si vous avez des propositions plus éfficaces n'ésité pas.
Cdlt
Fichier en PJ
Pompaero V1.xlsm
(44.93 Kio) Téléchargé 8 fois
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'201
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 24 juillet 2015, 03:05

Bonjour,

Ta macro ne peut fonctionner car tu n'as pas d'évènement Change, le contenu des cellules ne change pas, il n'y a qu'un recalcul qui affiche une nouvelle valeur sans modifier le contenu.

Par ailleurs, ça n'aurait pas fonctionné de toute façon car ta cellule affiche un nom de mois mais aucunement des valeurs de 28 à 31 qui n'apparaissent d'ailleurs nulle part.

Donc, tu vas transformer ta macro ainsi, et la déplacer dans un module standard :
Sub ChangeMois()
    Dim m%, a%
    With Worksheets("Planning")
        m = .Range("A2").Value
        a = .Range("H4").Value
    End With
    With Worksheets("Impression")
        Select Case m
            Case 1, 3, 5, 7, 8, 10, 12
                .Columns("BG:BL").Hidden = False
            Case 4, 6, 9, 11
                .Columns("BG:BJ").Hidden = False
                .Columns("BK:BL").Hidden = True
            Case 2
                .Columns("BG:BL").Hidden = True
                If a Mod 100 > 0 Then
                    If a Mod 4 = 0 Then a = 0
                Else
                    If a Mod 400 = 0 Then a = 0
                End If
                If a = 0 Then .Columns("BG:BH").Hidden = False
        End Select
    End With
End Sub
Ensuite tu l'affectes au bouton-toupie qui te sert à changer le mois.
Ce sera déjà quelque chose qui marche.

Pour le reste, je n'ai pas bien compris et comme il n'y a pas encore assez d'éléments pour avoir une idée de la méthodologie d'utilisation dans le temps, je te laisse prendre le temps de préciser ton projet...

Bonne journée
Ferrand
Avatar du membre
Banzai64
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'726
Appréciations reçues : 4
Inscrit le : 21 novembre 2010
Version d'Excel : 2003 FR (learning 2010 - 2013)

Message par Banzai64 » 24 juillet 2015, 03:52

Bonjour

A tester
Pompaero Impression V001.xlsm
(52.52 Kio) Téléchargé 21 fois
Image
p
pompaero
Membre dévoué
Membre dévoué
Messages : 804
Appréciations reçues : 2
Inscrit le : 12 juin 2013
Version d'Excel : 2016

Message par pompaero » 24 juillet 2015, 14:15

Bonjour MFerrand, Banzai64

Merci à vous 2 pour votre implication sur mon poste.
Banzai64 !!! un revenant... le repos à été de courte durée ! :lol2:

Désolé pour MFerrand mais la solution de Banzai64 me convient mieux au projet.

Banzai64 : petite question, comment peu ton récupérer la sheets "Impression" au cas d'aménagement sur la feuille ? J'ai bien essayé avec click droit puis affiché mais pas de sheets !!!

Cdlt
Avatar du membre
Banzai64
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'726
Appréciations reçues : 4
Inscrit le : 21 novembre 2010
Version d'Excel : 2003 FR (learning 2010 - 2013)

Message par Banzai64 » 24 juillet 2015, 15:30

Bonjour

Il faut passer par VBA

Une solution : Propriété visible de la fenêtre il faut la positionner sur xlSheetVisible

Si tu veux seulement la masquer mais pouvoir la voir dans le menu de l'onglet modifie la la fin de la macro
    .Visible = xlSheetVisible
    .PrintPreview
    .Visible = [surligner]xlSheetHidden[/surligner]
  End With
End Sub
Image
p
pompaero
Membre dévoué
Membre dévoué
Messages : 804
Appréciations reçues : 2
Inscrit le : 12 juin 2013
Version d'Excel : 2016

Message par pompaero » 24 juillet 2015, 16:44

Re

Toujours aussi bon et rapide :D .
Merci des conseils c'est noté dans un coin car il me fallai paramétrer les cellules du total semaine en supérieur à 13:30 mais je remettrai comme avant une fois fini.

Bon courage à toi

Cdlt
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message