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

Microsoft 365 Masquer des colonnes en fonction de plusieurs critères

bastien.vigouroux

XLDnaute Nouveau
Bonjour,

Je souhaite masquer certaines colonnes de mon fichier en fonction de la valeur d'une cellule & d'une case à cocher.

J'ai trouvé ces codes qui font le job indépendant :
(Le premier code est affecté à la case à cocher "Affichage Global" le deuxième à "Afficher N-1")

VB:
Sub Masquer_Démasquer()
    Dim rng As Range
    For Each rng In [G3:AE3]
        If rng.Value <> [C5] Then rng.EntireColumn.Hidden = Not rng.EntireColumn.Hidden
    Next rng
End Sub

Sub Bouton1_Click()
    Masquer_Démasquer
End Sub
    
Sub Masquer_DemasquerN1()
    Dim rng As Range
    For Each rng In [G6:AE6]
        If rng.Value = "N-1" Then rng.EntireColumn.Hidden = Not rng.EntireColumn.Hidden
    Next rng
End Sub

Sub Bouton2_Click()
    Masquer_DemasquerN1
End Sub

Quand je coche/décoche "Affichage global" uniquement le mois de mars s'affiche ou tout le tableau s'affiche
Quand je coche/décoche "afficher N-1" les colonnes N-1 s'affichent ou disparaissent.

Le problème c'est que si je masque les colonnes N-1 puis je veux voir que le mois de Mars -> Excel est perdu...

Auriez vous une solution à m'apporter ?

Merci d'avance !
 

Deadpool_CC

XLDnaute Accro
j'utilise pas VBA mais dans la logique au lieu de Cacher les colonnes ... essaye plutôt de fixer des largeurs de colonnes à 0 ou xx
Comme cela aucune colonne "Hidden" et si une colonne est concerné par 2 commandes, cela devrait fonctionné selon l'ordre ou tu utilises tes Cocher/Décocher

j'espère que cette réflexion pourra t'aider à avancer
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…