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.
1652194298353.png

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

Statistiques des forums

Discussions
315 098
Messages
2 116 190
Membres
112 679
dernier inscrit
Yupanki