Masquer des colonnes grâce à un bouton

Bonjour,

Voici mon problème, je voudrais masquer les colonnes qui ne contiennent pas de donner entre les cases C3 et AF32 après avoir filtrer ma colonne B et sélectionné une ligne entre 1 et 10.

Je vous joint le fichier, je suppose qu'il me faudra un deuxième bouton afficher afin de retrouver toutes mes colonnes une fois le filtre enlever.

Merci de bien vouloir m'aider !

10classeur-test.xlsx (13.78 Ko)

Bonjour,

Dans le fichier exemple, j'ai rajouté une formule (qu'on peut masquer par la couleur blanche) dans la cellule B1.

C'est la fonction Sous.total, qui couplée à l'évènement de feuille "Calculate", va permettre de déclencher le masquage/démasquage des colonnes.

regarde le fichier joint

Le code utilisé :

Private Sub Worksheet_Calculate()
Dim I As Byte
If Range("B1").Value = 30 Then
    Columns.Hidden = False
Else
    For I = 3 To 30 Step 3
        Columns(I).Resize(, 3).Hidden = IIf(Application.Subtotal(3, Cells(3, I).Resize(30)) = 0, True, False)
    Next I
End If
End Sub

Le fichier :

Peut-être?

Edit, j'oubliais, pas de bouton, juste à jouer avec le filtre de la colonne B

Bonjour, je vous remercie pour votre réponse, c'est exactement ce qu'il me fallait.

Mon seul souci est que je dépasse la limite de capacité en nombre de colonne qui se situe à 254, mon tableau en contient actuellement 648 et peut être plus par la suite...

Savez-vous si il y a un moyen d'augmenter la taille de la plage traité.

Merci

Bonjour,

Remplace :

Dim I As Byte

par :

Dim I As Long

et rajoute aussi cette ligne :

Application.ScreenUpdating = False

en tout début de code

Peut-être?

C'est parfait !!!

Je vous remercie pour l'aide que vous m'avez apporter

Rechercher des sujets similaires à "masquer colonnes bouton"