Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B5:B" & Range("A" & Rows.Count).End(xlUp).Row)) Is Nothing And Target.Count = 1 Then
Columns("C:DC").EntireColumn.Hidden = False 'on commence par tout afficher pour pouvoir détecter avec le end(xltoright)
If Target <> "" Then
Set c = Range("1:1").Find(Target, lookat:=xlWhole) 'on cherche l'emplacement de l'équipement
If Not c Is Nothing Then
ColDeb = c.Column
ColFin = ColDeb
If c.Offset(0, 1) = "" Then 'si à coté il y a du vide, c'est qu'il s'agit d'un élément de l'équipement
ColFin = c.End(xlToRight).Offset(0, -1).Column
End If
Columns("C:DC").EntireColumn.Hidden = True 'on masque tout
Range(Columns(ColDeb), Columns(ColFin)).EntireColumn.Hidden = False 'et on affiche que ce que l'on souhaite
End If
End If
End If
End Sub