MACRO pour afficher ET masquer des groupes de colonnes progressivement

  • Initiateur de la discussion Initiateur de la discussion Guizmox
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Guizmox

XLDnaute Nouveau
Bonjour,

Peut-être saurez-vous m'aider? Je sèche sur la question...

J'ai un tableau très lourd, et je veux en simplifier la lecture en n'ayant que peu de colonnes d'affichées.
Pour se faire, j'ai créé un bouton "suivant" qui permette d'afficher 4 colonnes après la dernière visible (toutes les colonnes auront été masquées au préalable, sauf les 8 premières), tout en masquant les 4 premières. Et ainsi de suite...

EX :
* Colonnes visibles à l'ouverture du fichier : (A, B, C,) D, E, F, G, H, I, J, K
* Colonnes visibles après avoir cliqué sur le bouton : (A, B, C,) H, I, J, K, L, M, N, O
* Colonnes visibles en cliquant de nouveau dessus : (A, B, C,) L, M, N, O, P, Q, R, S
* Et ainsi de suite...

Le bouton est fait, c'est la macro à lui assigner qui manque.

D'avance merci pour vos réponses!!!

Guizmox
 
Re : MACRO pour afficher ET masquer des groupes de colonnes progressivement

Bonjour,


Je te conseil toujours de mettre un fichier en pièce jointe, tu multiplie par 100 les chances que quelqu'un t'aide rapidement, car faire a macro que tu demande prens très peux de temps. Remplire un tableau de donnée bidon, c'est long et chia**. Sans parler du fait qu'avec le fichier, on peut directement faire ce que tu cherche alors qu'en y allant au bol, on risque de perdre du temps à faire quelque chose qui n'est pas ce à quoi tu t'attendais.
 
Re : MACRO pour afficher ET masquer des groupes de colonnes progressivement

Bonjour,

voici un exemple de solution. Le code est à mettre dans le bouton :
Code:
    Dim lgColDebFix As Long
    Dim lgColNbMasque As Long
    Dim lgCol As Long
    Dim lgColAMasquer As Long, lgColAMasquerMax As Long
    
    ' A paramétrer au besoin
    lgColDebFix = 3         ' 3 premières colonnes fixes
    lgColNbMasque = 4       ' Nombre de colonnes à masquer
    lgColAMasquer = 0
    lgColAMasquerMax = 0
    
    ' Boucle pour déterminer la première colonne à masquer
    For lgCol = lgColDebFix + 1 To Cells.Columns.Count
        If Columns(lgCol).EntireColumn.Hidden = False Then
            lgColAMasquer = lgCol
            Exit For
        End If
    Next lgCol
    
    ' La colonne à masquer ne peut pas dépasser la nombre maxi de colonnes dans une feuille
    lgColAMasquerMax = lgColAMasquer + lgColNbMasque - 1
    If lgColAMasquerMax > Cells.Columns.Count Then lgColAMasquerMax = Cells.Columns.Count - 1
    
    ' Masquer les colonnes
    For lgCol = lgColAMasquer To lgColAMasquerMax
        Columns(lgCol).EntireColumn.Hidden = True
    Next lgCol
 
Re : MACRO pour afficher ET masquer des groupes de colonnes progressivement

Vorens : ton conseil ne tombe pas dans l'oreille d'un sourd! Je mets en pièce-jointe le type de tableau sur lequel je travaille.

Cbea : Merci pour ce code, c'est un très bon début qui semble bien fonctionner. Cependant, il ne résout pas tout le problème étant donné qu'il n'affiche pas les 4 colonnes suivantes :

Je veux qu'à chaque pression sur le bouton, il se produise :
les trois premières cellules ne changent pas
les 4 suivantes se masquent
les 4 d'après restent visibles
et les 4 cellules masquées qui suivent deviennent visibles.

J'espère que le tableau que j'ai joint me rendra plus compréhensible :
les 4 colonnes en date du 01/01/2011 se masquent
les 4 colonnes en date du 02/01/2011 restent
les 4 colonnes en date du 03/10/2011 s'affichent

Après un second clic sur le bouton "suivant"
les 4 colonnes en date du 02/01/2011 se masquent
les 4 colonnes en date du 03/01/2011 restent
les 4 colonnes en date du 04/10/2011 s'affichent

ETC...
 

Pièces jointes

Dernière édition:
Re : MACRO pour afficher ET masquer des groupes de colonnes progressivement

Bonjour à tous.

La dernière solution de cbea, avec un application.ScreenUpdating à false en début de chacune des macros et à true à la fin devrait combler Guizmox.
 
Re : MACRO pour afficher ET masquer des groupes de colonnes progressivement

C'est génial!

Exactement ce qu'il me fallait! Et puis j'ai même été devancé pour ma seconde question pour la macro "précédent"... 😉

Grand MERCIIIII, d'autant plus que vous avez su me répondre très rapidement !
 
Re : MACRO pour afficher ET masquer des groupes de colonnes progressivement

Rebonjour!

Je viens de nouveau à vous, dans la continuité de mon précédent blocage.
J'ai bien avancé dans mon projet depuis, et je souhaite automatiser encore plus l'utilisation de mon tableau.
Ainsi, je cherche une macro qui permette, lorsque l'on clique sur le bouton "mise en page" (en haut à gauche), d'afficher le premier ensemble de colonnes vides (et ce, où que l'on soit dans le tableau).

Ce n'est pas très clair comme ça, mais en se basant sur mon exemple, voila ce que je voudrais faire.

A un moment donné, les colonnes affichées sont :
-Les trois colonnes grises à gauche (qui restent fixes)
-Les quatre colonnes en date du 01/01/2011
-Les quatre colonnes en date du 02/01/2011

Après avoir cliqué sur le bouton, je voudrais qu'il y ait systématiquement :
-Les trois colonnes grises à gauche (qui restent fixes)
-Les dernières quatre colonnes remplies de données (ici, en date du 04/01/2011)
-Les quatre colonnes qui suivent les quatre dernières remplies (ici, elles seraient en date du 05/01/2011)

Bien sûr, au fil du temps les colonnes se remplieront et la dernière colonne non vide ne restera pas en date du 04/01/2011. Les critères qui importent sont vraiment d'afficher les trois colonnes fixes, les quatre dernières remplies, et les quatre premières non-remplies.

Pour pimenter la partie, la macro doit pouvoir fonctionner même si les deux groupes de 4 colonnes "mobiles" visibles avant de cliquer sur le bouton sont situées après 🙂 plus à droite que le point d'arrivée) dans le tableau.

D'avance grand merci à ceux qui pourront résoudre ce problème!
Je mets en pièce jointe le fichier servant d'illustration à mes propos.

Guizmox
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
580
Réponses
3
Affichages
470
Réponses
5
Affichages
562
Réponses
7
Affichages
620
Retour