Case cocher , masquer colonne si valeur

Bonjour,

Je souhaiterais avoir un peu d'aide afin de finaliser mon planning sur excel

Je souhaiterais créer des case des mois de l'année : janvier , fév , mars ...

Ainsi en cochant ces case les mois cocher vont afficher ou non les colonne ou se situe les mois.

J'ai déjà des bouton qui m'affiche les mois indépendamment des une des autres.

Mais il me faudrait pouvoir pouvoir afficher des mois en spécifique.

Merci beaucoup de votre aide

Amir

Bonjour,

Au lieu de mettre des cases à cocher avec macro

Depuis le Menu - DONNEES - Grouper

A tester

Bonjour

déjà il faut mettre dans chaque macro Application.ScreenUpdating = False

et de modifir les mois

A+

Maurice

Sub janv() ' Janvier
Dim cellule As Range
Application.ScreenUpdating = False
    For Each cellule In Range("H3:JH3")
        If cellule.Value = "janv" Then cellule.EntireColumn.Hidden = False
        If cellule.Value = "févr" Then cellule.EntireColumn.Hidden = True
        If cellule.Value = "mars" Then cellule.EntireColumn.Hidden = True
        If cellule.Value = "avr" Then cellule.EntireColumn.Hidden = True
        If cellule.Value = "mai" Then cellule.EntireColumn.Hidden = True
        If cellule.Value = "juin" Then cellule.EntireColumn.Hidden = True
        If cellule.Value = "juil" Then cellule.EntireColumn.Hidden = True
        If cellule.Value = "août" Then cellule.EntireColumn.Hidden = True
        If cellule.Value = "sept" Then cellule.EntireColumn.Hidden = True
        If cellule.Value = "oct" Then cellule.EntireColumn.Hidden = True
        If cellule.Value = "nov" Then cellule.EntireColumn.Hidden = True
        If cellule.Value = "déc" Then cellule.EntireColumn.Hidden = True
    Next cellule
End Sub

Merci pour cette solution

Serait-il possible d'avoir une version avec les case ? j'aimerais apprendre à le faire dans ce type de fichier

Je ne sais pas ce que cela représente en terme de codage mais si cela est trop long je me contenterai de cette version

@Bonjour Maurice ,

A quoi correspond Application.ScreenUpdating = False ?

Merci encore

Amir

Bonjour

nouvelle macro plus simple

pour 2 mois a toi de faire le reste

A+

Maurice

Sub janv() ' Janvier
    ChercheMois "janv"
End Sub

Sub fev()
   ChercheMois "févr"
End Sub

Sub ChercheMois(Mois)
Application.ScreenUpdating = False
Range("H3:JH3").EntireColumn.Hidden = True
    For Each cellule In Range("H3:JH3")
        If cellule.Value = Mois Then cellule.EntireColumn.Hidden = False
    Next cellule
End Sub

Merci maurice pour ce code simplifié

Aurais tu une piste pour les case à cocher afin d'avoir par exemple le mois de janvier et mars d'afficher ?

Amir

Ce qui me faudrait , il me faudrait un formulaire comme cette exemple

bonsoir

un truc comme ca

A+

Maurice

Magnifique Parfait !!!

Comment avez vous fait cela ?

Bonsoir Amir,

Dans ton message de 18:10, tu as demandé :

À quoi correspond Application.ScreenUpdating = False ?

Screen = Écran ; Updating = mise à jour ; False = Faux ➯ ça sert à éviter la mise à jour de l'écran lors de l'exécution de la macro ; on dit parfois que « l'affichage est gelé », ce qui revient au même (c'est pas vraiment que l'affichage a froid mais qu'il reste fixe).

Juste avant la sortie de la macro, l'instruction suivante est automatiquement exécutée, de façon implicite :

Application.ScreenUpdating = True

ça fait que l'écran est automatiquement mis à jour, donc « rafraîchi » = « actualisé ».

Si on utilise MsgBox dans la macro (ce qui fait une pause), il sera peut-être préférable, selon l'exercice, d'ajouter avant, explicitement, l'instruction de mise à jour de l'écran mentionnée ci-dessus.

Tout ce que je viens d'écrire est valable pour Excel 2010 et versions antérieures ; pour Excel 2013 et versions ultérieures, il y a une nouvelle interface nommée SDI : https://msdn.microsoft.com/fr-fr/vba/excel-vba/articles/programming-for-the-single-document-interface-in-excel

Avec cette nouvelle interface SDI, il peut arriver qu'on doive mettre explicitement Application.ScreenUpdating = True


Tu as ensuite demandé :

Comment avez vous fait cela ?

Dans le fichier WorkPlanTemplate (FINAL).xlsm d'archer, regarde le code VBA du formulaire U_ChoisMois : Alt F11 pour voir le code VBA, puis revenir sur Excel

Il y a aussi du code VBA dans ThisWorkbook, dans Feuil1, et dans Module1 ; bonne lecture !

dhany

Bonjour

encore une petite modife dans U_ChoisMois

A+

Maurice

Merci beaucoup pour votre aide vous êtes au top !

Une autre demande et derniere, je chipote un peu , serais t'il possible lorsque qu'on ouvre la macro Choix mois" que les mois qui sont deja affiché sois cocher (comme une memoire)

c'est à dire si mon fichier affiche le mois de mars , lorsque j'ouvre la macro "choix mois" dans la liste la case mars est déja cochée.

Merci encore

Amir

Bonjour Amir,

J'espère que tu as lu mon long message d'hier à 23:18 !


Pour ta nouvelle demande, voici une piste (en 2 étapes) :

1) Juste avant la fermeture du formulaire, ajouter une sub qui sauvegarde l'état (True ou False) de toutes les cases à cocher

2) Dans la sub d'initialisation du formulaire, lire cette sauvegarde pour mettre à jour l'état de toutes les cases à cocher

dhany

Bonjour Dhany,

Oui j'ai bien lu ton message, d'ailleurs j'ai été surpris de cette réponse bien construite et complète merci encore

Amir

re

oui on peux mes le pense qu'il faux enlever test bouton mois

les valeur choisie se trouve dans onglet Liste status

A+

Maurice

Bonsoir

voila la dernière version

A+

Maurice

Merci Archer c'est parfait

Bonne journée

Amir

Bonjour

j'espère que tu a compris le code

& voila ma derniere version

A+

Maurice

Rechercher des sujets similaires à "case cocher masquer colonne valeur"