Afficher/Masquer colonne en fonction d'une cellule

Bonjour à tous,

Je vous suis depuis un petit moment et c'est aujourd'hui mon premier post. J'ai fait plusieurs essais à partir d'autres post, mais hélas, rien n'a marché.

Je souhaite afficher/Masquer des colonnes en fonction du résultat d'une cellule.

J'ai une feuille appelée récap qui contient des colonne de B à AF. Je souhaite masquer les colonnes si le résultat de la ligne 4 est égal à 0 et les afficher si le résultat est différent de 0.

Est-ce possible? Comment faire? Peut-on créer un bouton appliquant cette fonction?

Merci pour votre aide et bonne soirée.

Bonjour,

Vous pouvez affecter les macro à des boutons,

Sub Masquer_Colonnes()
For i = 2 To 32
If Cells(4, i) = 0 Then
  Columns(i).EntireColumn.Hidden = True
Else
  Columns(i).EntireColumn.Hidden = False
End If
Next
End Sub

Sub Afficher_Colonnes()
For i = 2 To 32
  Columns(i).EntireColumn.Hidden = False
Next
End Sub

Bonjour SabV,

Merci pour votre réponse.

En continuant mes essai j'ai réussi avec la formule suivante:

Sub MasquerColonnesVides()

Dim Plage As Range

Dim c As Range

On Error Resume Next

With ActiveSheet

Set Plage = .Range("B4:AF4")

For Each c In Plage

If c.Value = "0" Then c.Columns.EntireColumn.Hidden = True

If c.Value <> "0" Then c.Columns.EntireColumn.Hidden = False

Next c

End With

End Sub

par Kouribo » 08 mai 2018, 12:26

moi je n'avais pas de problème, alors je ne comprend pas pourquoi vous m'envoyez ce smiley ?

si votre intention était de marquer le fil comme étant résolu, vous n'avez pas cliquer sur le bon bouton...

cliquer plutôt sur le bouton V (vert) du post à coté du bouton EDITER, merci!

Rechercher des sujets similaires à "afficher masquer colonne fonction"