@saboh12617
@xorsankukai
Merci encore pour votre aide.
J'ai essayé le nouveau code mais ça ne résout pas le souci.
Je pense avoir compris le problème.
Quand je modifie les données des cellules B1:B3 la macro masque bien les colonnes où les cellule en ligne 6 sont égales à 0 mais elle n'est pas capable de réafficher les colonne masquées où les cellules en ligne 6 sont devenues > à 0 (après avoir été masquées précédemment).
Je pense qu'il faut lui donner la consigne en début de macro de réafficher les colonnes C:CT.
J'ai essayé de modifier le code de la macro comme ci-dessous. Ca résout le problème mais ça grise l'ensemble de mes colonnes.
Auriez-vous la solution pour éviter de griser les colonnes C:CT ?
Code modifié :
Private Sub Worksheet_Change(ByVal Target As Range)
Columns("A:CT").Select
Selection.EntireColumn.Hidden = False
Dim dercol%, c%
Application.ScreenUpdating = False
dercol = Cells(6, Columns.Count).End(xlToLeft).Column
If Not Application.Intersect(Target, Range("B1")) Is Nothing Then
Columns.Hidden = False
For c = dercol To 3 Step -1
With Cells(6, c)
.EntireColumn.Hidden = (.Value = 0)
End With
Next c
End If
Application.ScreenUpdating = True
End Sub