Macro pour masquer des colonnes

Bonjour,

Je souhaite pouvoir masquer l'une ou l'autre des colonnes D à V, si jamais il y a un 0 en ligne 5.

En gros, si les cellules F5 et H5 ont un 0, je voudrais que la macro cache les colonnes F et H.

En avez-vous une qui fonctionne ?

Merci beaucoup !

Bonjour,

Un essai à tester (à mettre dans La feuille correspondante)

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$F$5" Or Target.Address = "$H$5" Then
If (Range("$F$5").Value = 0 And Range("$H$5").Value = 0) Then
Range("f:f,h:h").EntireColumn.Hidden = True
Else: Range("f:f,h:h").EntireColumn.Hidden = False
End If
End If

End Sub

[EDIT] si ce sont les colonnes d à v qu'il faut masquer, tu changes

Range("f:f,h:h").

par

Range("D:V").

normalement (les majuscules / minuscules importent peu il me semble)

Bonjour

Merci beaucoup pour votre réponse.

Cela ne semble pas fonctionner.

De plus il faudrait que la macro marche pour nimporte quelle cellule allant de D5 à V5 (F et H n'étaient qu'un exemple, mais ça pourrait très bien être I et J ou K et R).

Des idées ?

Merci encore !

Felballa a écrit :

Bonjour

Merci beaucoup pour votre réponse.

Cela ne semble pas fonctionner.

De plus il faudrait que la macro marche pour nimporte quelle cellule allant de D5 à V5 (F et H n'étaient qu'un exemple, mais ça pourrait très bien être I et J ou K et R).

Des idées ?

Merci encore !

Dans ce cas là précise ta demande, tu dois indiquer toutes les conditions de ta macro, par exemple, tu dois préciser si les conditions sont des "ET" ou des "OU". Je ne peux pas deviner à ta place et je n'ai complètement compris ce que dois faire ta macro !

En fait je veux juste que la macro masque n'importe quelle colonne dès qu'il y a un 0 en ligne 5.

Exemples :

si 0 en cellule C5 --> colonne C masquée

si 1 en cellule C5 --> colonne C non masquée

si 0 en cellule AE5 --> colonne AE masquée

Si 1 en cellule V5 --> colonne V non masquée

Est ce que c'est plus clair ?

Merci !

Bonjour,

une proposition à tester :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim colonne As Integer
If Target.Count > 1 Then Exit Sub

  If Not Application.Intersect(Target, Rows(5)) Is Nothing Then
    If Target.Value = 0 Then
      colonne = Target.Column
      Columns(colonne).Hidden = True
    End If
  End If

End Sub

Merci beaucoup ça marche !

J'abuse de votre bonté : sauriez-vous ajouter un bouton qui permet d'afficher ou masquer les colonnes avec un 0 ou 1 ?

Bonjour,

Développeur, insérer, bouton, clic droit sur le bouton, affecter macro.

et ensuite les macros à faire =)

merci je vais tenter !

Rechercher des sujets similaires à "macro masquer colonnes"